Den 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 3/5/2013
					
					
			
					 
					 
					
	
			pehas Могу получить премию по IV (через класс BlackScholes) А как посчитать премию по волатильности базового актива с тем чтобы из этой премии затем получить свою IV?  Самому написать подсчет волатильности базового актива за интересующий период, а потом получить премию для этой волатильности  подставив вместо IV (через класс BlackScholes). Я давно хотел этим заняться, да все руки не доходят.
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					pehas 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 3/5/2013
					
					
			
					 
					 
					
	
			Den  Самому написать подсчет волатильности базового актива за интересующий период, а потом получить премию для этой волатильности  подставив вместо IV (через класс BlackScholes). Я давно хотел этим заняться, да все руки не доходят.
 
  Так не выйдет. bs.Premium(Volatility) расчитывает премию по IV опциона, не по исторической. Я пока сделал так. Нашел в интернетах класс блека шоулза на сях, он считает премию по исторической волатильности, а потом эту премию подставляю в bs.IV(premium) стокшарпа. Вот думал, может как то сразу на S# это можно сделать, чтобы сторонние либы не пользовать
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Дюшес 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 3/5/2013
					
					
			
					 
					 
					
	
			pehas  Я пока сделал так. Нашел в интернетах класс блека шоулза на сях, он считает премию по исторической волатильности
 
  А исходники есть?
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Дюшес 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 3/5/2013
					
					
			
					 
					 
					
	
			Кстати, ну и как эти iv сильно расходятся? Не сравнивал?
			
			
			
			
		
 
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					pehas 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 3/5/2013
					
					
			
					 
					 
					
	
			Брал отсюда  http://yesakov.com/2010/...tion-pricing-model-opm/
Дюшес  Кстати, ну и как эти iv сильно расходятся? Не сравнивал?
  Расхождение сильно зависит от периода за который ты считаешь историческую волатильность. Если брать за день, то сильно, а за месяц почти одинаково
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Mikhail Sukhov 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 3/5/2013
					
					
			
					 
					 
					
	
			Насколько я помню, через S# это делалось через переключение одного поля на другое.
			
			
			
			
		
 
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					pehas 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 3/5/2013
					
					
			
					 
					 
					
	
			Mikhail Sukhov Насколько я помню, через S# это делалось через переключение одного поля на другое.  Интуитивно, я как бы догадываюсь, что если вызывать расчет премии без параметров - bs.Premium() то расчет должен вестись по полю Volatility базового актива (?). Но как говорится, хотелось бы уточнить.. Ну и вопрос, конечно, если это так (как описано выше) и используется это поле Volatility, будет ли это по феншую выставлять каждый раз в это поле свою расчетную историческую волатильность
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Дюшес 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 3/5/2013
					
					
			
					 
					 
					
	
			pehas  Интуитивно, я как бы догадываюсь, что если вызывать расчет премии без параметров - bs.Premium() то расчет должен вестись по полю Volatility базового актива (?). Но как говорится, хотелось бы уточнить..
 
  Нет, в bs.Premium() берется поле ImpliedVolatility у инструмента. Если подставлять свою волатильность, используется bs.Premium(decimal deviation). А вот откуда ее можно брать?
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					pehas 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 3/5/2013
					
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
								 
							 | 
						 
					 
			
					 
					 
					
	
			Дюшес  Нет, в bs.Premium() берется поле ImpliedVolatility у инструмента. Если подставлять свою волатильность, используется bs.Premium(decimal deviation). А вот откуда ее можно брать?
  Так в том и проблема, что bs.Premium(decimal deviation) - это расчет по своей ОПЦИОННОЙ волатильности. Но не по исторической. Можно легко проверить. Если получить IV через iv = bs.IV(sec.LastPrice) а затем подставить полученное iv в price = bs.Premium(iv), то price будет равно sec.LastPrice А если бы bs.Premium(decimal deviation) считало бы по исторической волатильности, значение было бы другим. Так в принципе сток шарп все и считает по ходу. Любые греки. Находит сначала IV по последней цене опциона, а затем расчитывает через эту IV греки и премию. Т.е. формула для расчета премии опциона через историческую волатильность и другие параметры в шарп не заложена. Да поправят меня создатели, если я не прав.  Соответственно, отвечая на ваш вопрос, я решаю задачу с другого конца. Я расчитываю премию через отдельную либу по историческим данным. А затем уже по этой премии нахожу IV ей соответствующую и держу пальцы крестиком, чтобы она оказалась правильнее чем та, что расчитана шарпом по последней цене (или та что транслируется биржей) :)
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Дюшес 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 3/5/2013
					
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
								 
							 | 
						 
					 
			
					 
					 
					
	
			pehas  Так в том и проблема, что bs.Premium(decimal deviation) - это расчет по своей ОПЦИОННОЙ волатильности. Но не по исторической. Можно легко проверить. Если получить IV через iv = bs.IV(sec.LastPrice) а затем подставить полученное iv в price = bs.Premium(iv), то price будет равно sec.LastPrice А если бы bs.Premium(decimal deviation) считало бы по исторической волатильности, значение было бы другим. Так в принципе сток шарп все и считает по ходу. Любые греки. Находит сначала IV по последней цене опциона, а затем расчитывает через эту IV греки и премию.
 
  По-умолчанию берется IV инструмента транслируемое биржей, если вызываем через функцию bs.Premium(). Если надо посчитать с HV, то, насколько я понимаю, надо использовать bs.Premium(decimal deviation). То же самое и для греков. Там же в формуле БШ, как раз и используется этот параметр - deviation или стандартное отклонение или HV. Вроде так? pehas  Соответственно, отвечая на ваш вопрос, я решаю задачу с другого конца. Я расчитываю премию через отдельную либу по историческим данным. А затем уже по этой премии нахожу IV ей соответствующую и держу пальцы крестиком, чтобы она оказалась правильнее чем та, что расчитана шарпом по последней цене (или та что транслируется биржей) :)
 
  Поглядел исходники, все формулы практически один в один. Также есть параметр deviation в расчете премии. Что нужно ставить на его место? В либе, в классе Statistic, есть ф-я Dev(ArrayList dataRow) // Вычисление дисперсии (отклонение от среднего значения числового ряда)(Deviation) Наверное ее и подставлять, а в массиве данные по исторической волатильности?
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 |