-
Notifications
You must be signed in to change notification settings - Fork 3
/
lecture-11.html
962 lines (958 loc) · 86.8 KB
/
lecture-11.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="generator" content="pandoc" />
<meta name="author" content="Салихов Марсель (marcel.salikhov@gmail.com)" />
<meta name="date" content="2017-12-06" />
<meta name="copyright" content="НИУ ВШЭ. Салихов Марсель (marcel.salikhov@gmail.com)"/>
<title>Ценообразование опционов Количественные финансы</title>
<style type="text/css">code{white-space: pre;}</style>
<style type="text/css">
div.sourceCode { overflow-x: auto; }
table.sourceCode, tr.sourceCode, td.lineNumbers, td.sourceCode {
margin: 0; padding: 0; vertical-align: baseline; border: none; }
table.sourceCode { width: 100%; line-height: 100%; }
td.lineNumbers { text-align: right; padding-right: 4px; padding-left: 4px; color: #aaaaaa; border-right: 1px solid #aaaaaa; }
td.sourceCode { padding-left: 5px; }
code > span.kw { color: #007020; font-weight: bold; } /* Keyword */
code > span.dt { color: #902000; } /* DataType */
code > span.dv { color: #40a070; } /* DecVal */
code > span.bn { color: #40a070; } /* BaseN */
code > span.fl { color: #40a070; } /* Float */
code > span.ch { color: #4070a0; } /* Char */
code > span.st { color: #4070a0; } /* String */
code > span.co { color: #60a0b0; font-style: italic; } /* Comment */
code > span.ot { color: #007020; } /* Other */
code > span.al { color: #ff0000; font-weight: bold; } /* Alert */
code > span.fu { color: #06287e; } /* Function */
code > span.er { color: #ff0000; font-weight: bold; } /* Error */
code > span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
code > span.cn { color: #880000; } /* Constant */
code > span.sc { color: #4070a0; } /* SpecialChar */
code > span.vs { color: #4070a0; } /* VerbatimString */
code > span.ss { color: #bb6688; } /* SpecialString */
code > span.im { } /* Import */
code > span.va { color: #19177c; } /* Variable */
code > span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
code > span.op { color: #666666; } /* Operator */
code > span.bu { } /* BuiltIn */
code > span.ex { } /* Extension */
code > span.pp { color: #bc7a00; } /* Preprocessor */
code > span.at { color: #7d9029; } /* Attribute */
code > span.do { color: #ba2121; font-style: italic; } /* Documentation */
code > span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
code > span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
code > span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
</style>
<link href="libs/slidy-2/styles/slidy.css" rel="stylesheet" />
<script src="libs/slidy-2/scripts/slidy.js"></script>
<link rel="stylesheet" type="text/css" media="screen, projection, print"
href="styles.css" />
</head>
<body>
<div class="slide titlepage">
<h1 class="title">Ценообразование опционов <br> “Количественные финансы”</h1>
<p class="author">
Салихов Марсель (<a href="mailto:marcel.salikhov@gmail.com">marcel.salikhov@gmail.com</a>)
</p>
<p class="date">2017-12-06</p>
</div>
<div id="-" class="slide section level2">
<h2>Цели лекции</h2>
<ul>
<li>полныть основные принципы и логику ценообразования опционов</li>
<li>понять логику модели Блека-Шоулза-Мертона (BSM)</li>
<li>изучить имплементацию модели BSM в R</li>
<li>понять принципы расчета подразумеваемой волатильности и чувствительности опционов</li>
<li>понять принципы биноминальной модели ценообразования опционов и риск-нейтральные вероятности</li>
</ul>
</div>
<div id="-" class="slide section level2">
<h2>Постановка задачи</h2>
<ul>
<li><p>Предположим, что акция стоит сейчас 70 рублей. Завтра эта акция может стоить либо 100 рублей, либо 50 рублей. Как мы можем оценить стоимость опциона, который дает нам право купить 100 акций по цене 80 рублей завтра?</p></li>
<li><p>Если завтра цена составит 100 рублей, то наша прибыль составит 2000 рублей <span class="math inline">\(=max[100-80;0] \cdot 100\)</span>. Если цена акции составляет 50 рублей, то мы не получаем ничего, так как <strong>внутренняя стоимость</strong> опциона равна нулю <span class="math inline">\(=max[50-80;0] = 0\)</span>.</p></li>
<li><p>Модель BSM (Black-Scholes-Merton) основана на принципах <strong>отсутствия арбитража</strong>. Это означает, что если два актива имеют одинаковые денежные потоки, то они должны иметь одинаковую цену. К примеру, если мы сможем найти такой портфель акций и облигаций, которые реплицируют наш опцион, то стоимость этого портфеля должна быть цене опциона.</p></li>
</ul>
</div>
<div id="----2" class="slide section level2">
<h2>Постановка задачи - 2</h2>
<ul>
<li><p>Вы купили 40 акций сегодня. Вы заплатите за эти акции <span class="math inline">\(2800 = 70 \cdot 40\)</span>. Если завтра завтра цена вырастет до 100 рублей, то ваши акции будут стоить 4000 рублей (40 * 100). Прибыль по позиции будет равна 2000 рублей - то есть денежные потоки в этом случае будут одинаковы с опционом.</p></li>
<li><p>С другой стороны, если цена составит 50 рублей, то стоимость портфеля составит 2000 рублей. Убыток составит -800 рублей.</p></li>
<li><p>Таким образом, если арбитражных возможностей не существует, цена опциона составляет …</p></li>
</ul>
<ul class="incremental">
<li>800 рублей (2800 - 2000 = 800), или 8 рублей на акцию.</li>
</ul>
</div>
<div id="-------quantmodgetoptionchain" class="slide section level2">
<h2>Получение рыночных цен на опционы с помощью quantmod::getOptionChain</h2>
<ul>
<li>Пакет <code>quantmod</code> позволяет получить данные по опционам для эмитентов США в виде отдельной таблицы (option board). Источник данных: Yahoo Finance</li>
<li>С учетом того, что у опционов меняются страйки и даты экспирации, с каждой момент времени на одну акцию может быть доступно несколько тысяч опционных контрактов.</li>
</ul>
<p>Загрузим опционную доску на акции Amazon со сроком истечения 18 января 2018 года.</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">require</span>(quantmod)
options <-<span class="st"> </span><span class="kw">getOptionChain</span>(<span class="st">"AMZN"</span>,<span class="dt">Exp=</span><span class="st">"2018-01-19"</span>)
<span class="kw">head</span>(options)</code></pre></div>
<pre><code>$calls
Strike Last Chg Bid Ask Vol OI
AMZN180119C00240000 240 903.85 36.54998800 918.75 922.75 2 476
AMZN180119C00250000 250 903.85 24.44995100 908.80 911.90 2 1035
AMZN180119C00260000 260 907.33 63.48004000 899.50 901.85 2 2733
AMZN180119C00265000 265 873.90 -14.34997600 867.85 871.05 2 336
AMZN180119C00270000 270 875.40 37.90002400 888.45 892.85 2 175
AMZN180119C00280000 280 880.95 63.29998800 879.55 881.90 2 135
AMZN180119C00290000 290 863.95 32.54998800 868.50 872.90 2 141
AMZN180119C00300000 300 835.55 0.00000000 828.00 833.00 2 156
AMZN180119C00310000 310 848.50 -15.34997600 848.55 852.95 2 93
AMZN180119C00320000 320 880.80 67.45001000 875.30 877.25 204 403
AMZN180119C00330000 330 828.35 9.36999500 829.65 832.05 4 218
AMZN180119C00340000 340 833.00 9.95001200 820.75 823.60 3 109
AMZN180119C00350000 350 823.05 15.29998800 810.75 813.60 6 147
AMZN180119C00360000 360 788.12 -26.08001700 799.05 803.10 3 354
AMZN180119C00370000 370 778.13 -22.91998300 788.70 793.10 3 596
AMZN180119C00380000 380 778.82 22.72003200 778.75 783.15 9 235
AMZN180119C00390000 390 742.75 7.40002440 768.75 773.15 1 248
AMZN180119C00400000 400 744.60 -32.70001200 758.80 763.20 7 429
AMZN180119C00410000 410 761.75 41.20001200 750.90 753.75 7 69
AMZN180119C00420000 420 734.23 -23.52002000 738.85 743.25 2 66
AMZN180119C00430000 430 714.30 6.15997300 728.90 733.30 7 163
AMZN180119C00440000 440 705.90 -31.47998000 718.95 723.35 6 306
AMZN180119C00450000 450 708.95 -16.79998800 709.30 713.40 2 1697
AMZN180119C00460000 460 685.00 -32.84997600 699.00 703.40 7 908
AMZN180119C00470000 470 688.90 -16.89996300 689.05 693.45 2 227
AMZN180119C00480000 480 672.95 34.04004000 679.10 683.50 2 212
AMZN180119C00490000 490 656.05 -28.25000000 669.10 673.50 4 248
AMZN180119C00500000 500 642.25 -7.75000000 659.15 663.55 7 540
AMZN180119C00510000 510 644.75 25.75000000 649.40 653.60 2 515
AMZN180119C00520000 520 655.00 7.15002440 614.60 616.60 1 468
AMZN180119C00530000 530 621.05 172.65000000 629.25 633.65 1 123
AMZN180119C00540000 540 657.95 220.55002000 622.75 624.50 2 579
AMZN180119C00550000 550 611.35 -11.55004900 612.80 614.55 5 667
AMZN180119C00560000 560 604.35 24.54998800 602.85 604.55 4 118
AMZN180119C00570000 570 593.60 -11.50000000 592.90 594.60 6 221
AMZN180119C00580000 580 586.25 7.20001200 582.90 584.65 9 153
AMZN180119C00590000 590 573.30 33.52997000 572.95 574.65 15 229
AMZN180119C00600000 600 562.15 -14.00000000 561.25 563.85 5 1007
AMZN180119C00610000 610 551.20 -14.04998800 551.20 553.85 4 303
AMZN180119C00620000 620 520.16 1.69000240 509.50 513.95 3 346
AMZN180119C00630000 630 529.05 173.19998000 530.40 533.10 2 147
AMZN180119C00640000 640 524.11 -8.23999000 520.05 524.00 1 1453
AMZN180119C00650000 650 523.35 0.00000000 511.95 514.90 5 201
AMZN180119C00660000 660 490.55 -19.34002700 474.75 477.35 2 265
AMZN180119C00670000 670 483.50 12.45001200 490.10 494.10 3 146
AMZN180119C00680000 680 471.05 -9.65002400 454.80 457.40 2 207
AMZN180119C00690000 690 417.95 0.00000000 422.95 425.20 1 103
AMZN180119C00700000 700 451.37 -22.92001300 459.85 464.25 1 875
AMZN180119C00710000 710 451.60 63.77002000 450.70 453.40 2 317
AMZN180119C00720000 720 448.21 45.55999800 440.75 443.45 5 501
AMZN180119C00725000 725 414.61 0.00000000 405.00 409.50 1 0
AMZN180119C00730000 730 426.37 26.36999500 430.05 434.45 1 389
AMZN180119C00735000 735 420.10 0.00000000 425.80 428.50 4 0
AMZN180119C00740000 740 419.80 15.63998400 420.85 423.55 8 263
AMZN180119C00745000 745 407.75 3.39999400 390.10 393.00 4 13
AMZN180119C00750000 750 401.20 -7.54998800 410.15 414.55 1 646
AMZN180119C00755000 755 405.20 405.20000000 405.20 409.60 2 9
AMZN180119C00760000 760 403.00 15.00000000 400.95 403.65 6 579
AMZN180119C00765000 765 407.65 0.00000000 396.00 399.00 4 0
AMZN180119C00770000 770 405.00 -3.45001220 392.50 395.65 3 420
AMZN180119C00775000 775 387.50 0.00000000 385.30 389.70 2 3
AMZN180119C00780000 780 367.42 -35.45999000 380.55 384.65 20 1043
AMZN180119C00785000 785 356.70 0.00000000 375.60 379.65 2 2
AMZN180119C00790000 790 353.57 3.49002080 345.15 348.25 1 628
AMZN180119C00800000 800 361.50 -18.50000000 360.65 364.75 4 2009
AMZN180119C00805000 805 323.88 0.00000000 325.50 330.00 1 6
AMZN180119C00810000 810 350.00 -20.08999600 351.00 354.85 2 390
AMZN180119C00820000 820 340.15 -17.35000600 340.95 344.95 10 736
AMZN180119C00825000 825 337.50 32.91000400 336.00 340.00 3 6
AMZN180119C00830000 830 327.07 -20.72000100 331.15 335.05 1 743
AMZN180119C00835000 835 324.00 26.57998700 326.65 329.65 15 7
AMZN180119C00840000 840 335.50 7.85000600 322.90 326.05 1 520
AMZN180119C00845000 845 303.25 303.25000000 316.25 320.10 12 10
AMZN180119C00850000 850 294.91 -33.85000600 311.20 315.10 6 1802
AMZN180119C00855000 855 296.45 -4.48999000 306.25 310.25 4 34
AMZN180119C00860000 860 292.70 -23.90997300 301.30 305.30 2 572
AMZN180119C00865000 865 292.65 31.69998200 296.00 300.15 2 68
AMZN180119C00870000 870 270.95 -35.94998000 266.75 269.05 22 603
AMZN180119C00875000 875 129.00 0.00000000 121.65 123.00 2 42
AMZN180119C00880000 880 273.00 -21.00000000 281.15 285.40 15 511
AMZN180119C00885000 885 173.10 67.95000500 220.00 222.95 16 29
AMZN180119C00890000 890 265.75 -24.02999900 271.25 275.50 10 311
AMZN180119C00895000 895 256.60 157.54001000 266.65 270.60 15 43
AMZN180119C00900000 900 257.95 -21.04998800 261.35 265.60 6 4715
AMZN180119C00905000 905 254.70 33.25000000 256.75 260.70 1 60
AMZN180119C00910000 910 236.18 -36.97000000 251.65 255.65 16 535
AMZN180119C00915000 915 246.00 20.13000500 246.55 250.80 1 44
AMZN180119C00920000 920 237.70 -18.00000000 241.95 245.85 17 747
AMZN180119C00925000 925 240.10 22.09001200 236.70 240.90 3 131
AMZN180119C00930000 930 248.00 17.00000000 233.80 236.95 2 523
AMZN180119C00935000 935 225.00 0.00000000 253.00 257.10 1 162
AMZN180119C00940000 940 216.15 -19.85000600 222.30 226.15 4 750
AMZN180119C00945000 945 255.50 68.20000000 218.00 222.85 1 351
AMZN180119C00950000 950 210.95 -15.19999700 212.20 215.95 2 2228
AMZN180119C00955000 955 246.00 51.74000500 208.25 212.85 6 127
AMZN180119C00960000 960 197.60 -19.89999400 202.70 206.50 2 1664
AMZN180119C00965000 965 199.33 9.68000800 198.50 203.00 8 200
AMZN180119C00970000 970 193.00 -15.05000300 192.90 196.60 2 722
AMZN180119C00975000 975 189.90 -1.36000060 188.05 191.80 3 556
AMZN180119C00980000 980 183.50 -13.50000000 183.20 186.90 2 1425
AMZN180119C00985000 985 166.67 17.42999300 178.35 182.05 2 425
AMZN180119C00990000 990 170.00 -15.00000000 173.50 177.20 1 890
AMZN180119C00995000 995 148.36 -36.81999200 146.80 151.55 1 640
AMZN180119C01000000 1000 165.48 -15.27999900 164.40 166.45 13 4800
AMZN180119C01005000 1005 178.20 30.84999000 184.15 188.10 13 550
AMZN180119C01010000 1010 156.46 -15.00000000 154.30 157.55 15 831
AMZN180119C01015000 1015 152.00 -13.77000400 149.55 153.10 11 403
AMZN180119C01020000 1020 141.11 -18.89000000 144.85 148.30 1 936
AMZN180119C01025000 1025 135.00 -21.33999600 140.15 143.55 3 260
AMZN180119C01030000 1030 129.35 -18.64999400 135.45 138.85 2 1226
AMZN180119C01035000 1035 114.14 -0.20999908 105.05 108.30 10 194
AMZN180119C01040000 1040 127.57 -13.07999400 126.25 129.15 42 761
AMZN180119C01045000 1045 119.42 -25.75000000 121.45 124.20 1 524
AMZN180119C01050000 1050 118.78 -15.72000100 116.90 119.70 30 1764
AMZN180119C01055000 1055 113.46 -14.68999500 112.40 115.05 1 262
AMZN180119C01060000 1060 96.82 -28.58000200 108.10 110.60 2 1446
AMZN180119C01070000 1070 99.50 -15.80000300 99.30 101.70 5 352
AMZN180119C01080000 1080 91.80 -15.54999500 90.60 92.95 4 1989
AMZN180119C01090000 1090 83.79 -13.97999600 82.30 84.70 11 1387
AMZN180119C01100000 1100 75.91 -12.38999900 74.45 76.00 330 6316
AMZN180119C01110000 1110 69.30 -12.09999800 66.85 68.60 5 1746
AMZN180119C01120000 1120 60.60 -11.37000300 59.55 61.00 16 3680
AMZN180119C01130000 1130 53.55 -11.45000100 52.50 53.90 14 1429
AMZN180119C01140000 1140 46.90 -14.16000000 46.15 47.55 176 2196
AMZN180119C01150000 1150 40.55 -14.47000100 40.15 41.40 274 5910
AMZN180119C01160000 1160 35.68 -13.34000000 34.75 35.75 261 2441
AMZN180119C01170000 1170 30.25 -13.11999900 29.70 30.85 139 1258
AMZN180119C01180000 1180 25.80 -12.20000100 25.25 26.20 157 2423
AMZN180119C01190000 1190 21.90 -9.26000000 21.40 22.10 62 1352
AMZN180119C01200000 1200 18.30 -10.90000200 17.90 18.60 253 9095
AMZN180119C01210000 1210 15.25 -9.85000000 14.85 15.55 121 1559
AMZN180119C01220000 1220 12.40 -9.47000100 12.20 12.85 144 2049
AMZN180119C01230000 1230 10.18 -8.42000000 10.00 10.65 142 1244
AMZN180119C01240000 1240 8.50 -7.59000000 7.95 8.75 114 1892
AMZN180119C01250000 1250 6.89 -6.36000000 6.60 7.10 80 2073
AMZN180119C01260000 1260 5.85 -5.79999970 5.35 6.00 68 791
AMZN180119C01270000 1270 4.54 -4.75000000 4.35 4.90 46 487
AMZN180119C01280000 1280 3.75 -4.71000000 3.45 4.10 46 576
AMZN180119C01290000 1290 2.99 -3.62999990 2.80 3.40 7 412
AMZN180119C01300000 1300 2.65 -3.31000000 2.30 2.72 125 5798
AMZN180119C01310000 1310 2.07 -3.03000000 1.83 2.32 9 349
AMZN180119C01320000 1320 1.90 -2.38999990 1.51 1.97 25 521
AMZN180119C01330000 1330 1.36 -2.38000000 1.31 1.68 5 349
AMZN180119C01340000 1340 1.29 -1.76000000 1.23 1.55 15 381
AMZN180119C01350000 1350 1.15 -1.60000000 1.04 1.40 352 470
AMZN180119C01360000 1360 0.97 -1.36999990 0.86 1.22 1 488
AMZN180119C01370000 1370 0.93 -0.96999997 0.72 1.07 10 333
AMZN180119C01380000 1380 0.81 -0.96000000 0.63 0.96 30 333
AMZN180119C01390000 1390 1.17 -0.31000006 0.76 1.57 31 277
AMZN180119C01400000 1400 0.65 -0.76000000 0.50 0.81 2 1700
AMZN180119C01410000 1410 0.52 0.52000000 0.42 0.65 35 42
AMZN180119C01420000 1420 0.54 -0.51999990 0.47 0.77 13 769
AMZN180119C01430000 1430 0.54 0.54000000 0.10 0.71 5 6
AMZN180119C01440000 1440 0.35 -0.54999995 0.45 0.63 50 1918
AMZN180119C01450000 1450 0.01 0.01000000 0.02 0.61 5 15
AMZN180119C01460000 1460 0.18 -0.49000000 0.18 0.54 20 287
AMZN180119C01480000 1480 1.39 0.37000000 0.10 0.78 100 18
AMZN180119C01500000 1500 0.50 0.05000001 0.00 0.40 120 531
AMZN180119C01520000 1520 0.17 -0.14999999 0.13 0.30 22 857
AMZN180119C01580000 1580 0.22 -0.02000000 0.00 0.20 5 65
AMZN180119C01600000 1600 0.10 -0.07000000 0.00 0.15 20 4
AMZN180119C01620000 1620 0.15 0.15000000 0.00 0.10 10 3
AMZN180119C01640000 1640 0.25 0.00000000 0.00 0.92 21 0
AMZN180119C01660000 1660 0.06 0.00000000 0.00 0.15 1 10
AMZN180119C01700000 1700 0.05 -0.02000000 0.00 0.32 20 293
AMZN180119C01800000 1800 0.05 0.00000000 0.00 0.05 20 20
$puts
Strike Last Chg Bid Ask Vol OI
AMZN180119P00240000 240 0.01 0.000000e+00 0.00 0.03 5 3486
AMZN180119P00250000 250 0.02 -1.000000e-02 0.00 0.02 44 495
AMZN180119P00260000 260 0.02 -1.000000e-02 0.01 0.02 66 1267
AMZN180119P00265000 265 0.02 -2.000000e-02 0.00 0.02 2 348
AMZN180119P00270000 270 0.02 -1.000000e-02 0.00 0.02 57 207
AMZN180119P00280000 280 0.02 0.000000e+00 0.00 0.03 50 517
AMZN180119P00290000 290 0.03 2.000000e-02 0.01 0.03 3 474
AMZN180119P00300000 300 0.12 9.000000e-02 0.00 0.15 3 1015
AMZN180119P00310000 310 0.02 -2.000000e-02 0.00 0.26 5 113
AMZN180119P00320000 320 0.09 6.000000e-02 0.00 0.26 3 204
AMZN180119P00330000 330 0.03 -4.000000e-02 0.00 0.03 10 281
AMZN180119P00340000 340 0.02 -8.000000e-02 0.00 0.26 46 176
AMZN180119P00350000 350 0.02 -4.000000e-02 0.00 0.10 6 944
AMZN180119P00360000 360 0.02 -3.000000e-02 0.00 0.26 2 726
AMZN180119P00370000 370 0.02 1.000000e-02 0.00 0.26 1 536
AMZN180119P00380000 380 0.02 1.000000e-02 0.00 0.26 1 620
AMZN180119P00390000 390 0.02 -8.000000e-02 0.01 0.26 2 609
AMZN180119P00400000 400 0.02 0.000000e+00 0.01 0.10 3 1973
AMZN180119P00410000 410 0.03 0.000000e+00 0.01 0.10 1 820
AMZN180119P00420000 420 0.05 2.000000e-02 0.01 0.26 27 744
AMZN180119P00430000 430 0.02 -1.000000e-02 0.00 0.26 1 468
AMZN180119P00440000 440 0.02 1.000000e-02 0.00 0.26 2 1152
AMZN180119P00450000 450 0.02 0.000000e+00 0.02 0.10 20 2114
AMZN180119P00460000 460 0.05 -5.000000e-02 0.00 0.15 1 1726
AMZN180119P00470000 470 0.08 -2.600000e-01 0.00 0.09 42 489
AMZN180119P00480000 480 0.10 0.000000e+00 0.05 0.26 2 1202
AMZN180119P00490000 490 0.07 0.000000e+00 0.00 0.15 30 617
AMZN180119P00500000 500 0.04 -6.000000e-02 0.04 0.10 27 3205
AMZN180119P00510000 510 0.14 6.000000e-02 0.00 0.10 3 527
AMZN180119P00520000 520 0.09 0.000000e+00 0.02 0.10 60 922
AMZN180119P00530000 530 0.06 -1.400000e-01 0.00 0.06 80 510
AMZN180119P00540000 540 0.06 -9.000000e-02 0.02 0.06 175 999
AMZN180119P00550000 550 0.06 -5.000000e-02 0.05 0.10 127 1309
AMZN180119P00560000 560 0.08 -7.000001e-02 0.02 0.10 39 573
AMZN180119P00570000 570 0.10 0.000000e+00 0.00 0.10 5 701
AMZN180119P00580000 580 0.09 -9.999998e-03 0.05 0.10 1 850
AMZN180119P00590000 590 0.17 -6.999999e-02 0.05 0.10 32 912
AMZN180119P00600000 600 0.18 -2.000000e-02 0.05 0.20 4 3260
AMZN180119P00610000 610 0.20 8.000001e-02 0.20 0.25 50 1180
AMZN180119P00620000 620 0.09 -2.700000e-01 0.05 0.27 6 1716
AMZN180119P00630000 630 0.28 0.000000e+00 0.00 0.22 30 990
AMZN180119P00640000 640 0.40 0.000000e+00 0.05 0.20 1 1027
AMZN180119P00650000 650 0.22 -1.800000e-01 0.05 0.35 50 2458
AMZN180119P00660000 660 0.34 0.000000e+00 0.05 0.44 42 1609
AMZN180119P00670000 670 0.28 -9.000000e-02 0.00 0.49 1 970
AMZN180119P00680000 680 0.42 0.000000e+00 0.00 0.56 12 1814
AMZN180119P00690000 690 0.30 -1.300000e-01 0.15 0.66 1 1103
AMZN180119P00700000 700 0.39 -6.000000e-02 0.05 0.50 1 3944
AMZN180119P00710000 710 0.43 8.000001e-02 0.32 1.26 3 1413
AMZN180119P00720000 720 0.51 3.000000e-01 0.00 0.79 5 1192
AMZN180119P00725000 725 0.57 0.000000e+00 0.40 1.23 1 1
AMZN180119P00730000 730 0.50 1.400000e-01 0.00 0.82 1 1170
AMZN180119P00735000 735 0.23 -1.200000e-01 0.00 0.72 1 31
AMZN180119P00740000 740 0.44 -1.100000e-01 0.03 0.85 8 1545
AMZN180119P00745000 745 0.50 2.300000e-01 0.08 0.55 63 4
AMZN180119P00750000 750 0.50 -1.500000e-01 0.10 0.52 60 3195
AMZN180119P00755000 755 0.66 0.000000e+00 0.08 0.90 4 36
AMZN180119P00760000 760 0.60 -8.999997e-02 0.10 0.92 3 1280
AMZN180119P00765000 765 0.75 5.000001e-02 0.12 0.94 2 29
AMZN180119P00770000 770 0.66 -8.999997e-02 0.14 0.65 41 1600
AMZN180119P00775000 775 0.67 -9.999990e-03 0.15 1.07 1 198
AMZN180119P00780000 780 0.67 -6.000000e-02 0.15 0.79 14 1760
AMZN180119P00785000 785 2.59 0.000000e+00 0.72 1.53 1 1
AMZN180119P00790000 790 0.80 0.000000e+00 0.15 1.13 13 1673
AMZN180119P00795000 795 0.68 0.000000e+00 0.30 1.01 8 123
AMZN180119P00800000 800 0.78 -1.100000e-01 0.40 0.86 7 3414
AMZN180119P00805000 805 1.66 1.090000e+00 0.28 0.98 35 50
AMZN180119P00810000 810 1.00 6.200000e-01 0.93 1.70 20 880
AMZN180119P00815000 815 1.19 0.000000e+00 0.71 1.23 15 17
AMZN180119P00820000 820 0.82 -3.700001e-01 0.34 1.14 2 2350
AMZN180119P00825000 825 1.21 0.000000e+00 0.30 1.18 8 50
AMZN180119P00830000 830 0.99 1.000000e-01 0.39 1.20 1 1205
AMZN180119P00835000 835 1.15 6.500000e-01 1.09 1.95 8 23
AMZN180119P00840000 840 1.10 -4.399999e-01 0.47 1.14 1 1309
AMZN180119P00845000 845 1.53 0.000000e+00 1.27 2.27 4 34
AMZN180119P00850000 850 1.45 6.000006e-02 0.59 1.30 50 3735
AMZN180119P00855000 855 1.22 0.000000e+00 0.65 1.33 28 300
AMZN180119P00860000 860 1.58 1.300000e-01 0.55 1.36 30 1361
AMZN180119P00865000 865 1.91 9.700000e-01 1.41 2.41 5 264
AMZN180119P00870000 870 1.90 9.300000e-01 1.46 2.20 4 751
AMZN180119P00875000 875 1.53 4.300000e-01 1.61 2.40 13 304
AMZN180119P00880000 880 1.50 -2.500000e-01 1.12 1.49 1 1364
AMZN180119P00885000 885 1.25 -8.299999e-01 0.94 1.45 10 631
AMZN180119P00890000 890 1.38 -9.200000e-01 1.18 1.56 10 491
AMZN180119P00895000 895 1.94 -2.600000e-01 1.48 2.19 37 260
AMZN180119P00900000 900 1.39 -3.400000e-01 1.26 1.60 12 4837
AMZN180119P00905000 905 1.97 0.000000e+00 1.29 1.65 4 292
AMZN180119P00910000 910 1.96 -7.000000e-01 1.11 1.69 13 794
AMZN180119P00915000 915 1.52 -8.199999e-01 1.27 1.74 13 440
AMZN180119P00920000 920 2.03 2.999997e-02 1.41 1.81 1 783
AMZN180119P00925000 925 2.00 -9.999990e-03 1.31 1.84 2 457
AMZN180119P00930000 930 2.28 0.000000e+00 1.52 1.95 9 1246
AMZN180119P00935000 935 2.22 0.000000e+00 1.20 1.95 2 329
AMZN180119P00940000 940 2.51 0.000000e+00 1.71 1.97 6 833
AMZN180119P00945000 945 2.76 1.500001e-01 1.79 2.04 5 719
AMZN180119P00950000 950 2.05 -8.000000e-01 1.83 2.11 118 1840
AMZN180119P00955000 955 2.62 -3.000002e-01 1.89 2.18 22 385
AMZN180119P00960000 960 2.10 -9.500000e-01 1.99 2.23 5 1612
AMZN180119P00965000 965 2.21 -1.260000e+00 1.67 2.30 10 881
AMZN180119P00970000 970 2.30 -1.040000e+00 2.00 2.40 10 894
AMZN180119P00975000 975 2.35 -1.000000e+00 1.95 2.50 6 1181
AMZN180119P00980000 980 2.48 -9.200001e-01 2.24 2.60 28 1011
AMZN180119P00985000 985 2.65 -7.300000e-01 2.23 2.72 5 293
AMZN180119P00990000 990 2.75 -1.240000e+00 2.57 2.85 4 629
AMZN180119P00995000 995 2.91 -1.270000e+00 2.45 2.99 6 674
AMZN180119P01000000 1000 3.05 4.500000e-01 2.95 3.15 350 3393
AMZN180119P01005000 1005 3.87 -4.300003e-01 3.00 3.30 4 652
AMZN180119P01010000 1010 4.25 1.250000e+00 3.00 3.50 3 1831
AMZN180119P01015000 1015 3.55 3.199999e-01 3.25 3.75 27 371
AMZN180119P01020000 1020 3.90 2.500000e-01 3.50 4.00 147 643
AMZN180119P01025000 1025 4.05 2.200003e-01 3.80 4.25 18 435
AMZN180119P01030000 1030 4.45 2.100000e-01 4.05 4.45 61 965
AMZN180119P01035000 1035 4.75 3.200002e-01 4.35 4.90 47 420
AMZN180119P01040000 1040 5.30 3.400002e-01 4.75 5.25 57 1445
AMZN180119P01045000 1045 5.30 5.000019e-02 5.05 5.55 10 618
AMZN180119P01050000 1050 5.72 3.699999e-01 5.45 5.90 90 2511
AMZN180119P01055000 1055 13.10 1.140000e+00 12.55 13.40 63 168
AMZN180119P01060000 1060 6.60 2.300000e-01 6.40 6.95 105 1552
AMZN180119P01070000 1070 7.74 2.599997e-01 7.55 8.15 70 759
AMZN180119P01080000 1080 9.20 4.700003e-01 8.90 9.55 176 2582
AMZN180119P01090000 1090 10.40 1.700001e-01 10.55 11.25 141 1530
AMZN180119P01100000 1100 12.70 7.600002e-01 12.40 13.25 176 4436
AMZN180119P01110000 1110 15.07 1.120000e+00 14.65 15.55 199 1195
AMZN180119P01130000 1130 20.89 1.789999e+00 20.40 21.15 57 1048
AMZN180119P01140000 1140 24.00 1.799999e+00 23.85 24.65 321 1931
AMZN180119P01150000 1150 28.12 2.210001e+00 27.75 28.75 235 1564
AMZN180119P01160000 1160 32.50 2.879999e+00 32.10 33.20 313 984
AMZN180119P01170000 1170 38.71 4.590000e+00 37.15 38.15 20 393
AMZN180119P01180000 1180 45.65 6.150002e+00 42.45 43.75 37 485
AMZN180119P01190000 1190 37.30 -2.361000e+01 36.75 38.35 23 28
AMZN180119P01200000 1200 56.85 5.979999e+00 54.95 56.55 17 1761
AMZN180119P01210000 1210 62.75 6.830002e+00 61.85 63.65 4 204
AMZN180119P01220000 1220 69.65 -8.769997e+00 69.40 70.95 3 251
AMZN180119P01230000 1230 84.94 1.374001e+01 77.05 78.80 21 135
AMZN180119P01240000 1240 102.90 1.264000e+01 85.25 87.00 3 35
AMZN180119P01250000 1250 97.70 9.199997e+00 93.45 95.55 2 170
AMZN180119P01260000 1260 101.85 -6.700005e+00 129.75 132.00 1 13
AMZN180119P01270000 1270 112.20 1.029999e+01 111.35 113.55 4 4
AMZN180119P01280000 1280 134.25 2.105000e+01 147.95 150.50 5 4
AMZN180119P01290000 1290 136.45 1.445000e+01 130.20 133.35 5 27
AMZN180119P01300000 1300 150.24 1.139999e+00 139.75 143.00 4 83
AMZN180119P01310000 1310 161.10 2.195001e+01 175.50 178.60 3 6
AMZN180119P01320000 1320 128.50 -2.322600e+02 159.15 162.80 1 1
AMZN180119P01330000 1330 186.70 -1.788200e+02 168.50 172.45 2 11
AMZN180119P01340000 1340 180.15 -1.239000e+02 178.35 182.05 12 85
AMZN180119P01350000 1350 190.00 6.499939e-01 188.25 192.30 5 84
AMZN180119P01360000 1360 203.80 -6.550003e+00 198.20 202.25 5 112
AMZN180119P01370000 1370 223.70 2.380000e+01 208.20 212.25 24 15
AMZN180119P01380000 1380 223.40 1.725000e+01 218.20 222.25 4 12
AMZN180119P01390000 1390 241.75 -1.727500e+02 228.05 231.85 2 2
AMZN180119P01400000 1400 241.90 -1.758300e+02 237.50 242.25 2 2
AMZN180119P01410000 1410 255.40 2.554000e+02 247.00 251.30 2 2
AMZN180119P01420000 1420 266.65 2.666500e+02 258.05 261.85 2 2
AMZN180119P01430000 1430 281.80 0.000000e+00 267.50 272.20 4 2
AMZN180119P01440000 1440 291.75 -1.984000e+02 278.15 282.35 2 6
AMZN180119P01450000 1450 292.25 2.922500e+02 288.15 292.35 2 0
AMZN180119P01460000 1460 319.35 0.000000e+00 298.15 302.35 2 2
AMZN180119P01480000 1480 278.95 0.000000e+00 282.40 285.80 3 0
AMZN180119P01500000 1500 351.80 5.144998e+01 337.00 341.25 2 3</code></pre>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">calls <-<span class="st"> </span>options<span class="op">$</span>calls[,<span class="kw">c</span>(<span class="dv">1</span><span class="op">:</span><span class="dv">2</span>,<span class="dv">7</span>)]
puts <-<span class="st"> </span>options<span class="op">$</span>puts[,<span class="kw">c</span>(<span class="dv">1</span><span class="op">:</span><span class="dv">2</span>,<span class="dv">7</span>)]</code></pre></div>
</div>
<div id="--amzn-amazon" class="slide section level2">
<h2>Стоимость акций AMZN (Amazon)</h2>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">getSymbols</span>(<span class="st">"AMZN"</span>, <span class="dt">src =</span> <span class="st">"google"</span>)</code></pre></div>
<pre><code>'getSymbols' currently uses auto.assign=TRUE by default, but will
use auto.assign=FALSE in 0.5-0. You will still be able to use
'loadSymbols' to automatically load data. getOption("getSymbols.env")
and getOption("getSymbols.auto.assign") will still be checked for
alternate defaults.
This message is shown once per session and may be disabled by setting
options("getSymbols.warning4.0"=FALSE). See ?getSymbols for details.</code></pre>
<pre><code>[1] "AMZN"</code></pre>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">chart_Series</span>(AMZN[<span class="st">'2017::'</span>])</code></pre></div>
<p><img src="lecture-11_files/figure-slidy/unnamed-chunk-2-1.png" width="1152" style="display: block; margin: auto;" /></p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">stock.price =<span class="st"> </span><span class="kw">as.numeric</span>(<span class="kw">last</span>(AMZN)[,<span class="dv">4</span>])</code></pre></div>
</div>
<div id="---intrinsic-value" class="slide section level2">
<h2>Внутренняя цена опциона (intrinsic value)</h2>
<p>Внутренняя стоимость опциона – это та величина, которую мы получим исполнив опцион сейчас.</p>
<p>для колл опциона</p>
<p><span class="math display">\[IntrinsicValue = max[S_t - K, 0] \]</span> для опциона пут</p>
<p><span class="math display">\[IntrinsicValue = max[K - S_t, 0] \]</span></p>
<p>где <span class="math inline">\(S_t\)</span> – текущая цена акции, <span class="math inline">\(K\)</span> – страйк.</p>
<p>внутренняя цена опциона составляет для нашего примера составляет:</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">calls<span class="op">$</span>diff <-<span class="st"> </span>stock.price <span class="op">-</span><span class="st"> </span>calls<span class="op">$</span>Strike
calls<span class="op">$</span>dummy <-<span class="st"> </span>calls<span class="op">$</span>diff <span class="op"><</span><span class="st"> </span>calls<span class="op">$</span>Last
calls</code></pre></div>
<pre><code> Strike Last OI diff dummy
AMZN180119C00240000 240 903.85 476 919.79 FALSE
AMZN180119C00250000 250 903.85 1035 909.79 FALSE
AMZN180119C00260000 260 907.33 2733 899.79 TRUE
AMZN180119C00265000 265 873.90 336 894.79 FALSE
AMZN180119C00270000 270 875.40 175 889.79 FALSE
AMZN180119C00280000 280 880.95 135 879.79 TRUE
AMZN180119C00290000 290 863.95 141 869.79 FALSE
AMZN180119C00300000 300 835.55 156 859.79 FALSE
AMZN180119C00310000 310 848.50 93 849.79 FALSE
AMZN180119C00320000 320 880.80 403 839.79 TRUE
AMZN180119C00330000 330 828.35 218 829.79 FALSE
AMZN180119C00340000 340 833.00 109 819.79 TRUE
AMZN180119C00350000 350 823.05 147 809.79 TRUE
AMZN180119C00360000 360 788.12 354 799.79 FALSE
AMZN180119C00370000 370 778.13 596 789.79 FALSE
AMZN180119C00380000 380 778.82 235 779.79 FALSE
AMZN180119C00390000 390 742.75 248 769.79 FALSE
AMZN180119C00400000 400 744.60 429 759.79 FALSE
AMZN180119C00410000 410 761.75 69 749.79 TRUE
AMZN180119C00420000 420 734.23 66 739.79 FALSE
AMZN180119C00430000 430 714.30 163 729.79 FALSE
AMZN180119C00440000 440 705.90 306 719.79 FALSE
AMZN180119C00450000 450 708.95 1697 709.79 FALSE
AMZN180119C00460000 460 685.00 908 699.79 FALSE
AMZN180119C00470000 470 688.90 227 689.79 FALSE
AMZN180119C00480000 480 672.95 212 679.79 FALSE
AMZN180119C00490000 490 656.05 248 669.79 FALSE
AMZN180119C00500000 500 642.25 540 659.79 FALSE
AMZN180119C00510000 510 644.75 515 649.79 FALSE
AMZN180119C00520000 520 655.00 468 639.79 TRUE
AMZN180119C00530000 530 621.05 123 629.79 FALSE
AMZN180119C00540000 540 657.95 579 619.79 TRUE
AMZN180119C00550000 550 611.35 667 609.79 TRUE
AMZN180119C00560000 560 604.35 118 599.79 TRUE
AMZN180119C00570000 570 593.60 221 589.79 TRUE
AMZN180119C00580000 580 586.25 153 579.79 TRUE
AMZN180119C00590000 590 573.30 229 569.79 TRUE
AMZN180119C00600000 600 562.15 1007 559.79 TRUE
AMZN180119C00610000 610 551.20 303 549.79 TRUE
AMZN180119C00620000 620 520.16 346 539.79 FALSE
AMZN180119C00630000 630 529.05 147 529.79 FALSE
AMZN180119C00640000 640 524.11 1453 519.79 TRUE
AMZN180119C00650000 650 523.35 201 509.79 TRUE
AMZN180119C00660000 660 490.55 265 499.79 FALSE
AMZN180119C00670000 670 483.50 146 489.79 FALSE
AMZN180119C00680000 680 471.05 207 479.79 FALSE
AMZN180119C00690000 690 417.95 103 469.79 FALSE
AMZN180119C00700000 700 451.37 875 459.79 FALSE
AMZN180119C00710000 710 451.60 317 449.79 TRUE
AMZN180119C00720000 720 448.21 501 439.79 TRUE
AMZN180119C00725000 725 414.61 0 434.79 FALSE
AMZN180119C00730000 730 426.37 389 429.79 FALSE
AMZN180119C00735000 735 420.10 0 424.79 FALSE
AMZN180119C00740000 740 419.80 263 419.79 TRUE
AMZN180119C00745000 745 407.75 13 414.79 FALSE
AMZN180119C00750000 750 401.20 646 409.79 FALSE
AMZN180119C00755000 755 405.20 9 404.79 TRUE
AMZN180119C00760000 760 403.00 579 399.79 TRUE
AMZN180119C00765000 765 407.65 0 394.79 TRUE
AMZN180119C00770000 770 405.00 420 389.79 TRUE
AMZN180119C00775000 775 387.50 3 384.79 TRUE
AMZN180119C00780000 780 367.42 1043 379.79 FALSE
AMZN180119C00785000 785 356.70 2 374.79 FALSE
AMZN180119C00790000 790 353.57 628 369.79 FALSE
AMZN180119C00800000 800 361.50 2009 359.79 TRUE
AMZN180119C00805000 805 323.88 6 354.79 FALSE
AMZN180119C00810000 810 350.00 390 349.79 TRUE
AMZN180119C00820000 820 340.15 736 339.79 TRUE
AMZN180119C00825000 825 337.50 6 334.79 TRUE
AMZN180119C00830000 830 327.07 743 329.79 FALSE
AMZN180119C00835000 835 324.00 7 324.79 FALSE
AMZN180119C00840000 840 335.50 520 319.79 TRUE
AMZN180119C00845000 845 303.25 10 314.79 FALSE
AMZN180119C00850000 850 294.91 1802 309.79 FALSE
AMZN180119C00855000 855 296.45 34 304.79 FALSE
AMZN180119C00860000 860 292.70 572 299.79 FALSE
AMZN180119C00865000 865 292.65 68 294.79 FALSE
AMZN180119C00870000 870 270.95 603 289.79 FALSE
AMZN180119C00875000 875 129.00 42 284.79 FALSE
AMZN180119C00880000 880 273.00 511 279.79 FALSE
AMZN180119C00885000 885 173.10 29 274.79 FALSE
AMZN180119C00890000 890 265.75 311 269.79 FALSE
AMZN180119C00895000 895 256.60 43 264.79 FALSE
AMZN180119C00900000 900 257.95 4715 259.79 FALSE
AMZN180119C00905000 905 254.70 60 254.79 FALSE
AMZN180119C00910000 910 236.18 535 249.79 FALSE
AMZN180119C00915000 915 246.00 44 244.79 TRUE
AMZN180119C00920000 920 237.70 747 239.79 FALSE
AMZN180119C00925000 925 240.10 131 234.79 TRUE
AMZN180119C00930000 930 248.00 523 229.79 TRUE
AMZN180119C00935000 935 225.00 162 224.79 TRUE
AMZN180119C00940000 940 216.15 750 219.79 FALSE
AMZN180119C00945000 945 255.50 351 214.79 TRUE
AMZN180119C00950000 950 210.95 2228 209.79 TRUE
AMZN180119C00955000 955 246.00 127 204.79 TRUE
AMZN180119C00960000 960 197.60 1664 199.79 FALSE
AMZN180119C00965000 965 199.33 200 194.79 TRUE
AMZN180119C00970000 970 193.00 722 189.79 TRUE
AMZN180119C00975000 975 189.90 556 184.79 TRUE
AMZN180119C00980000 980 183.50 1425 179.79 TRUE
AMZN180119C00985000 985 166.67 425 174.79 FALSE
AMZN180119C00990000 990 170.00 890 169.79 TRUE
AMZN180119C00995000 995 148.36 640 164.79 FALSE
AMZN180119C01000000 1000 165.48 4800 159.79 TRUE
AMZN180119C01005000 1005 178.20 550 154.79 TRUE
AMZN180119C01010000 1010 156.46 831 149.79 TRUE
AMZN180119C01015000 1015 152.00 403 144.79 TRUE
AMZN180119C01020000 1020 141.11 936 139.79 TRUE
AMZN180119C01025000 1025 135.00 260 134.79 TRUE
AMZN180119C01030000 1030 129.35 1226 129.79 FALSE
AMZN180119C01035000 1035 114.14 194 124.79 FALSE
AMZN180119C01040000 1040 127.57 761 119.79 TRUE
AMZN180119C01045000 1045 119.42 524 114.79 TRUE
AMZN180119C01050000 1050 118.78 1764 109.79 TRUE
AMZN180119C01055000 1055 113.46 262 104.79 TRUE
AMZN180119C01060000 1060 96.82 1446 99.79 FALSE
AMZN180119C01070000 1070 99.50 352 89.79 TRUE
AMZN180119C01080000 1080 91.80 1989 79.79 TRUE
AMZN180119C01090000 1090 83.79 1387 69.79 TRUE
AMZN180119C01100000 1100 75.91 6316 59.79 TRUE
AMZN180119C01110000 1110 69.30 1746 49.79 TRUE
AMZN180119C01120000 1120 60.60 3680 39.79 TRUE
AMZN180119C01130000 1130 53.55 1429 29.79 TRUE
AMZN180119C01140000 1140 46.90 2196 19.79 TRUE
AMZN180119C01150000 1150 40.55 5910 9.79 TRUE
AMZN180119C01160000 1160 35.68 2441 -0.21 TRUE
AMZN180119C01170000 1170 30.25 1258 -10.21 TRUE
AMZN180119C01180000 1180 25.80 2423 -20.21 TRUE
AMZN180119C01190000 1190 21.90 1352 -30.21 TRUE
AMZN180119C01200000 1200 18.30 9095 -40.21 TRUE
AMZN180119C01210000 1210 15.25 1559 -50.21 TRUE
AMZN180119C01220000 1220 12.40 2049 -60.21 TRUE
AMZN180119C01230000 1230 10.18 1244 -70.21 TRUE
AMZN180119C01240000 1240 8.50 1892 -80.21 TRUE
AMZN180119C01250000 1250 6.89 2073 -90.21 TRUE
AMZN180119C01260000 1260 5.85 791 -100.21 TRUE
AMZN180119C01270000 1270 4.54 487 -110.21 TRUE
AMZN180119C01280000 1280 3.75 576 -120.21 TRUE
AMZN180119C01290000 1290 2.99 412 -130.21 TRUE
AMZN180119C01300000 1300 2.65 5798 -140.21 TRUE
AMZN180119C01310000 1310 2.07 349 -150.21 TRUE
AMZN180119C01320000 1320 1.90 521 -160.21 TRUE
AMZN180119C01330000 1330 1.36 349 -170.21 TRUE
AMZN180119C01340000 1340 1.29 381 -180.21 TRUE
AMZN180119C01350000 1350 1.15 470 -190.21 TRUE
AMZN180119C01360000 1360 0.97 488 -200.21 TRUE
AMZN180119C01370000 1370 0.93 333 -210.21 TRUE
AMZN180119C01380000 1380 0.81 333 -220.21 TRUE
AMZN180119C01390000 1390 1.17 277 -230.21 TRUE
AMZN180119C01400000 1400 0.65 1700 -240.21 TRUE
AMZN180119C01410000 1410 0.52 42 -250.21 TRUE
AMZN180119C01420000 1420 0.54 769 -260.21 TRUE
AMZN180119C01430000 1430 0.54 6 -270.21 TRUE
AMZN180119C01440000 1440 0.35 1918 -280.21 TRUE
AMZN180119C01450000 1450 0.01 15 -290.21 TRUE
AMZN180119C01460000 1460 0.18 287 -300.21 TRUE
AMZN180119C01480000 1480 1.39 18 -320.21 TRUE
AMZN180119C01500000 1500 0.50 531 -340.21 TRUE
AMZN180119C01520000 1520 0.17 857 -360.21 TRUE
AMZN180119C01580000 1580 0.22 65 -420.21 TRUE
AMZN180119C01600000 1600 0.10 4 -440.21 TRUE
AMZN180119C01620000 1620 0.15 3 -460.21 TRUE
AMZN180119C01640000 1640 0.25 0 -480.21 TRUE
AMZN180119C01660000 1660 0.06 10 -500.21 TRUE
AMZN180119C01700000 1700 0.05 293 -540.21 TRUE
AMZN180119C01800000 1800 0.05 20 -640.21 TRUE</code></pre>
<p>До срока экспирации текущая цена опциона должна быть больше внутренней стоимости, так как всегда существует возможность, что цена опциона еще вырастет из-за того, что стоимость акции изменится. Если цена опциона меньше внутренней стоимости, то это означает проблемы с данными. В данном случае это связано, что последняя цена (Last price) была достаточно давно и не отражает реальные рыночные цены на текущий момент.</p>
<p>Мы оставим только те контракты, которые имеют положительную внутреннюю стоимость</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">calls =<span class="st"> </span>calls[calls<span class="op">$</span>dummy,] <span class="co"># оставим только те значения, где dummy = TRUE</span>
puts<span class="op">$</span>diff <-<span class="st"> </span>puts<span class="op">$</span>Strike<span class="op">-</span>stock.price
puts<span class="op">$</span>dummy <-<span class="st"> </span>puts<span class="op">$</span>diff<span class="op"><</span>puts<span class="op">$</span>Last
puts =<span class="st"> </span>puts[puts<span class="op">$</span>dummy,]</code></pre></div>
</div>
<div id="---" class="slide section level2">
<h2>Блек, Шоулз и Мертон</h2>
<div align="center">
<p><img src="fig/merton-scholes-black.jpeg" width="640" height="250" /></p>
</div>
</div>
<div id="-bsm-black-scholes-merton" class="slide section level2">
<h2>Формула BSM (Black-Scholes-Merton)</h2>
<p>В модели BSM, стоимость опциона оценивается на цене портфеля акций и облигаций, которые реплицируют денежные потоки опциона. Привлекательность модели заключается в том, что это решение находится в закрытой форме.</p>
<p><span class="math display">\[ Call = S \cdot N(d_1) + K exp (-rf \cdot T) N(d_2) \]</span> <span class="math display">\[ Put = K exp (-rf \cdot T) N(-d_2) - S \cdot N(-d_1) \]</span> где</p>
<p><span class="math display">\[ d_1 = \frac{ln(S/K)+rf + 1/2 \cdot \sigma^2 \cdot T }{\sigma \cdot \sqrt{T} }\]</span> <span class="math display">\[d_2 = d_1 - \sigma \cdot \sqrt{T} \]</span> <span class="math inline">\(S\)</span> – цена акции, <span class="math inline">\(K\)</span> – страйк, <span class="math inline">\(T\)</span> – время до истечения опциона, <span class="math inline">\(rf\)</span> – безрисковая ставка, <span class="math inline">\(\sigma\)</span> – волатильность акции (базового актива), <span class="math inline">\(N()\)</span> – кумулятивная функция стандартного нормального распределения.</p>
<p>to recap: кумулятивная функция распределения (или просто “функция распределения”) описывает вероятность того, что случайная переменная X примет какое-либо значение, не превышающее либо равное x.</p>
</div>
<div id="--bsm" class="slide section level2">
<h2>Допущения модели BSM</h2>
<ol style="list-style-type: decimal">
<li><strong>Постоянная волатильность</strong></li>
<li><strong>Эффективные рынки</strong> – модель предполагает, что изменение цены базового актива описывается случайным блужданием.</li>
<li><strong>Отсутствие дивидендов</strong> в классической формуле.</li>
<li><strong>Фиксированная безрисковая ставка</strong></li>
<li><strong>Логнормальное распределение доходностей</strong> базового актива</li>
<li><strong>Опцион европейского типа</strong> – исполнение толькко в дату экспирации</li>
<li><strong>Отсутствие комиссий и транзакционных издержек</strong></li>
<li><strong>Идеальная ликвидность</strong></li>
</ol>
</div>
<div id="--bsm--r" class="slide section level2">
<h2>Иплементация модели BSM в R</h2>
<p>зададим некоторые вводные параметры</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">stock.price =<span class="st"> </span><span class="fl">1159.11</span>
expiry.date <-<span class="st"> </span><span class="kw">as.Date</span>(<span class="st">"2018-01-19"</span>)
value.date <-<span class="st"> </span><span class="kw">as.Date</span>(<span class="st">"2017-12-06"</span>)
TTM <-<span class="st"> </span><span class="kw">as.numeric</span>((expiry.date <span class="op">-</span><span class="st"> </span>value.date)<span class="op">/</span><span class="dv">365</span>) <span class="co"># время до экспирации, лет</span>
rf =<span class="st"> </span><span class="fl">1.3</span><span class="op">/</span><span class="dv">100</span> <span class="op">*</span><span class="st"> </span>TTM <span class="co"># безрисковая ставка </span></code></pre></div>
<p>Безрисковая ставка оценивается на основе 3-месячной ставка по казначейским векселям США.</p>
<p>оценим историческую волатильность на основе данных за 2017 год</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">volatility <-<span class="st"> </span>AMZN[,<span class="dv">4</span>][<span class="st">"2017::"</span>] <span class="co"># цена закрытия </span>
volatility<span class="op">$</span>ret <-<span class="st"> </span><span class="kw">diff</span>(<span class="kw">log</span>(volatility<span class="op">$</span>AMZN.Close)) <span class="co"># расчет лог-доходности </span>
hist.vol <-<span class="st"> </span><span class="kw">sd</span>(volatility<span class="op">$</span>ret, <span class="dt">na.rm =</span> <span class="ot">TRUE</span>)<span class="op">*</span><span class="kw">sqrt</span>(<span class="dv">252</span>) <span class="co"># стандартное отклонение, приведенный в "годовой"" формат</span>
hist.vol</code></pre></div>
<pre><code>[1] 0.2100996</code></pre>
<p>выберем для простоты только опционы со страйком 1150 и 1160</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">bs.calls <-<span class="st"> </span>calls[calls<span class="op">$</span>Strike <span class="op">==</span><span class="st"> </span><span class="dv">1150</span><span class="op">|</span>calls<span class="op">$</span>Strike <span class="op">==</span><span class="st"> </span><span class="dv">1160</span>,]
bs.calls</code></pre></div>
<pre><code> Strike Last OI diff dummy
AMZN180119C01150000 1150 40.55 5910 9.79 TRUE
AMZN180119C01160000 1160 35.68 2441 -0.21 TRUE</code></pre>
<p>используем формулы BSM, чтобы оценить стоимость опциона:</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">d1 <-<span class="st"> </span>(<span class="kw">log</span>(stock.price<span class="op">/</span>bs.calls<span class="op">$</span>Strike) <span class="op">+</span><span class="st"> </span>(rf<span class="op">+</span><span class="fl">0.5</span><span class="op">*</span>(hist.vol)<span class="op">^</span><span class="dv">2</span>)<span class="op">*</span>TTM)<span class="op">/</span>(hist.vol<span class="op">*</span><span class="kw">sqrt</span>(TTM))
<span class="kw">cat</span>(<span class="st">"d1 = "</span>,d1, <span class="st">"</span><span class="ch">\n</span><span class="st">"</span>)</code></pre></div>
<pre><code>d1 = 0.1472316 0.02854117 </code></pre>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">d2 <-<span class="st"> </span>d1 <span class="op">-</span><span class="st"> </span>hist.vol<span class="op">*</span><span class="kw">sqrt</span>(TTM)
<span class="kw">cat</span>(<span class="st">"d2 = "</span>,d2, <span class="st">"</span><span class="ch">\n</span><span class="st">"</span>)</code></pre></div>
<pre><code>d2 = 0.07428498 -0.04440544 </code></pre>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">bs.calls<span class="op">$</span>optval <-<span class="st"> </span>stock.price<span class="op">*</span><span class="kw">pnorm</span>(d1,<span class="dt">mean =</span> <span class="dv">0</span>,<span class="dt">sd =</span> <span class="dv">1</span>) <span class="op">-</span><span class="st"> </span>bs.calls<span class="op">$</span>Strike<span class="op">*</span><span class="kw">exp</span>(<span class="op">-</span>rf<span class="op">*</span>TTM)<span class="op">*</span><span class="kw">pnorm</span>(d2,<span class="dt">mean =</span> <span class="dv">0</span>,<span class="dt">sd =</span> <span class="dv">1</span>)
bs.calls</code></pre></div>
<pre><code> Strike Last OI diff dummy optval
AMZN180119C01150000 1150 40.55 5910 9.79 TRUE 38.45799
AMZN180119C01160000 1160 35.68 2441 -0.21 TRUE 33.39972</code></pre>
<p>Рыночные цены опционов несколько выше цен, которые мы получили в рамках модели BSM.</p>
</div>
<div id="--bsm---" class="slide section level2">
<h2>Использование модели BSM для пут-опционов</h2>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">bs.puts =<span class="st"> </span>puts[puts<span class="op">$</span>Strike <span class="op">==</span><span class="st"> </span><span class="dv">1150</span><span class="op">|</span>puts<span class="op">$</span>Strike <span class="op">==</span><span class="st"> </span><span class="dv">1160</span>,]
bs.puts</code></pre></div>
<pre><code> Strike Last OI diff dummy
AMZN180119P01150000 1150 28.12 1564 -9.79 TRUE
AMZN180119P01160000 1160 32.50 984 0.21 TRUE</code></pre>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">bs.puts<span class="op">$</span>optval <-<span class="st"> </span>bs.puts<span class="op">$</span>Strike<span class="op">*+</span><span class="st"> </span><span class="kw">exp</span>(<span class="op">-</span>rf<span class="op">*</span>TTM)<span class="op">*</span><span class="kw">pnorm</span>(<span class="op">-</span>d2,<span class="dt">mean=</span><span class="dv">0</span>,<span class="dt">sd=</span><span class="dv">1</span>) <span class="op">-</span><span class="st"> </span>stock.price<span class="op">*</span><span class="kw">pnorm</span>(<span class="op">-</span>d1,<span class="dt">mean=</span><span class="dv">0</span>,<span class="dt">sd=</span><span class="dv">1</span>)
bs.puts</code></pre></div>
<pre><code> Strike Last OI diff dummy optval
AMZN180119P01150000 1150 28.12 1564 -9.79 TRUE 29.13076
AMZN180119P01160000 1160 32.50 984 0.21 TRUE 34.07060</code></pre>
<p>Цены пут-опционов в рамках BSM оказались гораздо ближе к рыночным ценам.</p>
</div>
<div id="---bsm" class="slide section level2">
<h2>Функция для расчета BSM</h2>
<p>запишем процедуру расчета модели BSM в виде отдельной функци</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># функция расчета стоимости опциона по модели BSM </span>
bs.opm <-<span class="st"> </span><span class="cf">function</span>(S, K, T, riskfree, sigma, type){
d1<-(<span class="kw">log</span>(S<span class="op">/</span>K)<span class="op">+</span>(riskfree <span class="op">+</span><span class="st"> </span><span class="fl">0.5</span><span class="op">*</span>sigma<span class="op">^</span><span class="dv">2</span>)<span class="op">*</span>T)<span class="op">/</span>(sigma<span class="op">*</span><span class="kw">sqrt</span>(T))
d2 <-<span class="st"> </span>d1<span class="op">-</span>sigma<span class="op">*</span><span class="kw">sqrt</span>(T)
<span class="cf">if</span>(type<span class="op">==</span><span class="st">"Call"</span>){
opt.val <-<span class="st"> </span>S<span class="op">*</span><span class="kw">pnorm</span>(d1) <span class="op">-</span><span class="st"> </span>K<span class="op">*</span><span class="kw">exp</span>(<span class="op">-</span>riskfree<span class="op">*</span>T)<span class="op">*</span><span class="kw">pnorm</span>(d2)
}
<span class="cf">if</span>(type<span class="op">==</span><span class="st">"Put"</span>){
opt.val <-<span class="st"> </span>K<span class="op">*</span><span class="kw">exp</span>(<span class="op">-</span>riskfree<span class="op">*</span>T)<span class="op">*</span><span class="kw">pnorm</span>(<span class="op">-</span>d2) <span class="op">-</span><span class="st"> </span>S<span class="op">*</span><span class="kw">pnorm</span>(<span class="op">-</span>d1)
}
<span class="kw">return</span>(opt.val)
}</code></pre></div>
<p>проверим процедуру расчета</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">bs.opm</span>(stock.price,<span class="dv">1150</span>,TTM,rf,hist.vol,<span class="st">"Call"</span>)</code></pre></div>
<pre><code>[1] 38.45799</code></pre>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">bs.opm</span>(stock.price,<span class="dv">1160</span>,TTM,rf,hist.vol,<span class="st">"Call"</span>)</code></pre></div>
<pre><code>[1] 33.39972</code></pre>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">bs.opm</span>(stock.price,<span class="dv">1150</span>,TTM,rf,hist.vol,<span class="st">"Put"</span>)</code></pre></div>
<pre><code>[1] 29.13076</code></pre>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">bs.opm</span>(stock.price,<span class="dv">1160</span>,TTM,rf,hist.vol,<span class="st">"Put"</span>)</code></pre></div>
<pre><code>[1] 34.0706</code></pre>
<p>результаты аналогичны</p>
</div>
<div id="----" class="slide section level2">
<h2>Паритет опционов колл и пут</h2>
<p>В рамках BSM, если мы знаем цену опциона колл(пут), то мы можем найти цену опциона пут (колл) с аналогичным страйком и временем до погашения используя формулу паритета.</p>
<p><span class="math display">\[ P+ S = С + K exp(-rf \cdot T) \]</span> проверим, что паритет выполняется в нашем случае</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">bs.calls<span class="op">$</span>optval.pcparity <-<span class="st"> </span>bs.puts<span class="op">$</span>optval<span class="op">-</span>bs.puts<span class="op">$</span>Strike<span class="op">*</span><span class="kw">exp</span>(<span class="op">-</span>rf<span class="op">*</span>TTM)<span class="op">+</span>stock.price
bs.calls</code></pre></div>
<pre><code> Strike Last OI diff dummy optval optval.pcparity
AMZN180119C01150000 1150 40.55 5910 9.79 TRUE 38.45799 38.45799
AMZN180119C01160000 1160 35.68 2441 -0.21 TRUE 33.39972 33.39972</code></pre>
<p>для опционов пут</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">bs.puts<span class="op">$</span>optval.pcparity<-bs.calls<span class="op">$</span>optval<span class="op">+</span>bs.puts<span class="op">$</span>Strike<span class="op">*</span><span class="kw">exp</span>(<span class="op">-</span>rf<span class="op">*</span>TTM)<span class="op">-</span>stock.price
bs.puts</code></pre></div>
<pre><code> Strike Last OI diff dummy optval optval.pcparity
AMZN180119P01150000 1150 28.12 1564 -9.79 TRUE 29.13076 29.13076
AMZN180119P01160000 1160 32.50 984 0.21 TRUE 34.07060 34.07060</code></pre>
<p>Паритет выполняется в “мире” BSM. В рыночных ценах паритет может не выполняться</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">bs.calls<span class="op">$</span>Last.pcparity<-bs.puts<span class="op">$</span>Last<span class="op">-</span>bs.puts<span class="op">$</span>Strike<span class="op">*</span><span class="kw">exp</span>(<span class="op">-</span>rf<span class="op">*</span>TTM)<span class="op">+</span>stock.price
bs.calls</code></pre></div>
<pre><code> Strike Last OI diff dummy optval optval.pcparity
AMZN180119C01150000 1150 40.55 5910 9.79 TRUE 38.45799 38.45799
AMZN180119C01160000 1160 35.68 2441 -0.21 TRUE 33.39972 33.39972
Last.pcparity
AMZN180119C01150000 37.44723
AMZN180119C01160000 31.82912</code></pre>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">bs.puts<span class="op">$</span>Last.pcparity<-bs.calls<span class="op">$</span>Last<span class="op">+</span>bs.puts<span class="op">$</span>Strike<span class="op">*</span><span class="kw">exp</span>(<span class="op">-</span>rf<span class="op">*</span>TTM)<span class="op">-</span>stock.price
bs.puts</code></pre></div>
<pre><code> Strike Last OI diff dummy optval optval.pcparity
AMZN180119P01150000 1150 28.12 1564 -9.79 TRUE 29.13076 29.13076
AMZN180119P01160000 1160 32.50 984 0.21 TRUE 34.07060 34.07060
Last.pcparity
AMZN180119P01150000 31.22277
AMZN180119P01160000 36.35088</code></pre>
<p>Это связано с тем, что допущения BSM на практике могут не выполняться.</p>
</div>
<div id="----" class="slide section level2">
<h2>Чувствительность опциона к входным параметрам</h2>
<p>Когда оценивается стоимость опциона, мы заинтересованы в том, чтобы оценить чувствительность опциона ко входным параметрам. Эти чувствительности получили стандартные греческие буквы:</p>
<ul>
<li><span class="math inline">\(\delta\)</span> (“Дельта”) – чувствительность к изменению цены базового актива</li>
<li><span class="math inline">\(\gamma\)</span> (“Гамма”) – чувствительность к изменению Дельты, т.е. вторая производная цены</li>
<li>(“Вега”) – чувствительность к изменению волатильности базового актива</li>
<li><span class="math inline">\(\theta\)</span> (“Тета”) – чувствительность к изменению срока до погашения</li>
<li><span class="math inline">\(\rho\)</span> (“Ро”) – чувствительность к изменению безрисковой ставки</li>
</ul>
<p>В рамках модели BSM можно использовать стандартные формулы для оценки этих чувствительностей</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">greeks.call <-<span class="st"> </span>bs.calls[,<span class="dv">1</span><span class="op">:</span><span class="dv">2</span>]
greeks.call<span class="op">$</span>delta <-<span class="st"> </span><span class="kw">pnorm</span>(d1,<span class="dt">mean=</span><span class="dv">0</span>,<span class="dt">sd=</span><span class="dv">1</span>)
greeks.call<span class="op">$</span>gamma <-<span class="st"> </span><span class="kw">dnorm</span>(d1,<span class="dt">mean=</span><span class="dv">0</span>,<span class="dt">sd=</span><span class="dv">1</span>)<span class="op">/</span><span class="st"> </span>(stock.price<span class="op">*</span>hist.vol<span class="op">*</span><span class="kw">sqrt</span>(TTM))
greeks.call<span class="op">$</span>vega <-<span class="st"> </span>stock.price<span class="op">*</span><span class="kw">dnorm</span>(d1,<span class="dt">mean=</span><span class="dv">0</span>,<span class="dt">sd=</span><span class="dv">1</span>)<span class="op">*</span><span class="kw">sqrt</span>(TTM)
greeks.call<span class="op">$</span>theta <-<span class="st"> </span><span class="op">-</span>((stock.price<span class="op">*</span>hist.vol<span class="op">*</span><span class="kw">dnorm</span>(d1,<span class="dt">mean=</span><span class="dv">0</span>,<span class="dt">sd=</span><span class="dv">1</span>))<span class="op">/</span>(<span class="dv">2</span><span class="op">*</span><span class="kw">sqrt</span>(TTM))) <span class="op">-</span><span class="st"> </span>(rf<span class="op">*</span>greeks.call<span class="op">$</span>Strike<span class="op">*</span><span class="kw">exp</span>(<span class="op">-</span>rf<span class="op">*</span>TTM)<span class="op">*</span><span class="kw">pnorm</span>(d2,<span class="dt">mean=</span><span class="dv">0</span>,<span class="dt">sd=</span><span class="dv">1</span>))
greeks.call<span class="op">$</span>rho<-<span class="st"> </span>greeks.call<span class="op">$</span>Strike<span class="op">*</span>TTM<span class="op">*</span><span class="kw">exp</span>(<span class="op">-</span>rf<span class="op">*</span>TTM)<span class="op">*</span><span class="kw">pnorm</span>(d2,<span class="dt">mean=</span><span class="dv">0</span>,<span class="dt">sd=</span><span class="dv">1</span>)
greeks.call</code></pre></div>
<pre><code> Strike Last delta gamma vega theta
AMZN180119C01150000 1150 40.55 0.5585254 0.004667381 158.8208 -139.3564
AMZN180119C01160000 1160 35.68 0.5113847 0.004716322 160.4862 -140.7300
rho
AMZN180119C01150000 73.40579
AMZN180119C01160000 67.42867</code></pre>
<p>для опционов пут</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">greeks.put<-<span class="st"> </span>bs.puts[,<span class="dv">1</span><span class="op">:</span><span class="dv">2</span>]
greeks.put<span class="op">$</span>delta<-<span class="st"> </span><span class="kw">pnorm</span>(d1,<span class="dt">mean=</span><span class="dv">0</span>,<span class="dt">sd=</span><span class="dv">1</span>)<span class="op">-</span><span class="dv">1</span>
greeks.put<span class="op">$</span>gamma<-<span class="st"> </span><span class="kw">dnorm</span>(d1,<span class="dt">mean=</span><span class="dv">0</span>,<span class="dt">sd=</span><span class="dv">1</span>)<span class="op">/</span><span class="st"> </span>(stock.price<span class="op">*</span>hist.vol<span class="op">*</span><span class="kw">sqrt</span>(TTM))
greeks.put<span class="op">$</span>vega<-<span class="st"> </span>stock.price<span class="op">*</span><span class="kw">dnorm</span>(d1,<span class="dt">mean=</span><span class="dv">0</span>,<span class="dt">sd=</span><span class="dv">1</span>)<span class="op">*</span><span class="kw">sqrt</span>(TTM)
greeks.put<span class="op">$</span>theta<-<span class="op">-</span>((stock.price<span class="op">*</span>hist.vol<span class="op">*</span><span class="kw">dnorm</span>(d1,<span class="dt">mean=</span><span class="dv">0</span>,<span class="dt">sd=</span><span class="dv">1</span>))<span class="op">/</span>(<span class="dv">2</span><span class="op">*</span><span class="kw">sqrt</span>(TTM))) <span class="op">+</span><span class="st"> </span>(rf<span class="op">*</span>greeks.put<span class="op">$</span>Strike<span class="op">*</span><span class="kw">exp</span>(<span class="op">-</span>rf<span class="op">*</span>TTM)<span class="op">*</span><span class="kw">pnorm</span>(<span class="op">-</span>d2,<span class="dt">mean=</span><span class="dv">0</span>,<span class="dt">sd=</span><span class="dv">1</span>))
greeks.put<span class="op">$</span>rho<-<span class="st"> </span><span class="op">-</span>greeks.put<span class="op">$</span>Strike<span class="op">*</span>TTM<span class="op">*</span><span class="kw">exp</span>(<span class="op">-</span>rf<span class="op">*</span>TTM)<span class="op">*+</span><span class="st"> </span><span class="kw">pnorm</span>(<span class="op">-</span>d2,<span class="dt">mean=</span><span class="dv">0</span>,<span class="dt">sd=</span><span class="dv">1</span>)
greeks.put</code></pre></div>
<pre><code> Strike Last delta gamma vega theta
AMZN180119P01150000 1150 28.12 -0.4414746 0.004667381 158.8208 -137.5546
AMZN180119P01160000 1160 32.50 -0.4886153 0.004716322 160.4862 -138.9125
rho
AMZN180119P01150000 -65.19816
AMZN180119P01160000 -72.38054</code></pre>
</div>
<div id="--implied-volatility" class="slide section level2">
<h2>Подразумеваемая волатильность (implied volatility)</h2>
<ul>
<li>Из пяти входных параметров BSM, <strong>волатильность актива</strong> не наблюдаема. Для инвесторов оценка волатильности исходя из рыночной цены опциона дает представлением о том, что рынок “думает” о волатильности и как она изменяется со временем.</li>
<li>Определение подразуемовой волатильности осщуществляется численными методами. Для простоты мы будем использовать простой <strong>метод бисекции</strong> для поиска IV. Мы используем начальное значение для волатильности (историческая волатильность) и оцениваем стоимость опциона по формуле BSM. Если разница между нашей оценкой и рыночной ценой больше по модулю заданного <span class="math inline">\(\epsilon\)</span>, то используем новое значение волатильности, которое представляет собой половину предыдущего значения + либо - некоторое значение сигма. Мы также ставим ограниччение максимум в 1000 итераций. Если мы не смогли найти значение IV с точностью <span class="math inline">\(\epsilon\)</span> за 1000 итераций, то функция возвращает <code>NA</code>.</li>
</ul>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># функция поиска значений подразумеваемой волатильности методом бисекции </span>
iv.opt<-<span class="st"> </span><span class="cf">function</span>(S,K,T,riskfree,price,type){
sigma <-<span class="st"> </span>hist.vol
sigma.up <-<span class="st"> </span><span class="dv">1</span>
sigma.down<-<span class="st"> </span><span class="fl">0.001</span>
count<-<span class="st"> </span><span class="dv">0</span>
epsilon <-<span class="st"> </span><span class="kw">bs.opm</span>(S,K,TTM,riskfree,sigma,type)<span class="op">-</span><span class="st"> </span>price
<span class="cf">while</span>(<span class="kw">abs</span>(epsilon)<span class="op">></span><span class="fl">0.00001</span> <span class="op">&</span><span class="st"> </span>count<span class="op"><</span><span class="dv">1000</span>){
<span class="cf">if</span>(epsilon<span class="op"><</span><span class="dv">0</span>){
sigma.down <span class="op"><</span><span class="st"> </span><span class="op">-</span>sigma
sigma <-<span class="st"> </span>(sigma.up <span class="op">+</span><span class="st"> </span>sigma)<span class="op">/</span><span class="st"> </span><span class="dv">2</span>
} <span class="cf">else</span>{
sigma.up<-<span class="st"> </span>sigma
sigma<-<span class="st"> </span>(sigma.down<span class="op">+</span>sigma)<span class="op">/</span><span class="st"> </span><span class="dv">2</span>
}
epsilon<-<span class="st"> </span><span class="kw">bs.opm</span>(S,K,TTM,riskfree,sigma,type)<span class="op">-</span>price
count<-<span class="st"> </span>count<span class="op">+</span><span class="dv">1</span>
}
<span class="cf">if</span>(count<span class="op">==</span><span class="dv">1000</span>){
<span class="kw">return</span>(<span class="ot">NA</span>)
} <span class="cf">else</span>{
<span class="kw">return</span>(sigma)
}
}</code></pre></div>
<p>используем расчет для нашего примера</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">iv.opt</span>(stock.price,<span class="dv">1150</span>,TTM,rf,<span class="fl">37.25</span>,<span class="st">"Call"</span>)</code></pre></div>
<pre><code>[1] 0.202492</code></pre>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">hist.vol</code></pre></div>
<pre><code>[1] 0.2100996</code></pre>
<p>Подразумевамая волатильность равна 22,5%, историческая – 21%.</p>
</div>
<div id="--volatility-smile" class="slide section level2">
<h2>Улыбка волатильности (volatility smile)</h2>
<p>посчитаем подразумеваемую волатильность для разных страйков</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">calls<span class="op">$</span>iv =<span class="st"> </span><span class="ot">NA</span>
<span class="cf">for</span>(i <span class="cf">in</span> <span class="dv">1</span><span class="op">:</span><span class="kw">nrow</span>(calls)){
<span class="co">#cat(i,'\n')</span>
calls<span class="op">$</span>iv[i] =<span class="st"> </span><span class="kw">iv.opt</span>(stock.price, calls<span class="op">$</span>Strike[i], TTM, rf, calls<span class="op">$</span>Last[i], <span class="st">"Call"</span>)
}</code></pre></div>
<p>построим график IV в зависимости от страйка</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">require</span>(ggplot2)</code></pre></div>
<pre><code>Loading required package: ggplot2</code></pre>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">p =<span class="st"> </span><span class="kw">ggplot</span>(<span class="dt">data =</span> calls, <span class="kw">aes</span>(<span class="dt">x=</span>Strike, <span class="dt">y =</span> iv<span class="op">*</span><span class="dv">100</span>))
p =<span class="st"> </span>p <span class="op">+</span><span class="st"> </span><span class="kw">geom_point</span>()<span class="op">+</span><span class="kw">theme_minimal</span>()<span class="op">+</span><span class="kw">xlab</span>(<span class="st">'Страйк, $'</span>)<span class="op">+</span><span class="kw">ylab</span>(<span class="st">"Подразумевая волатильность, %"</span>)<span class="op">+</span>
<span class="st"> </span><span class="kw">ggtitle</span>(<span class="kw">paste0</span>(<span class="st">"Подразумевамая волатильность колл-опционов AMZN c погашением "</span>, expiry.date))
p<span class="op">+</span><span class="st"> </span><span class="kw">geom_vline</span>(<span class="dt">xintercept=</span>stock.price, <span class="dt">color =</span> <span class="st">'red'</span>)<span class="op">+</span><span class="st"> </span><span class="kw">geom_text</span>(<span class="kw">aes</span>(<span class="dt">x=</span>stock.price<span class="op">+</span><span class="dv">30</span>, <span class="dt">label=</span><span class="st">"Текущая цена акции"</span>, <span class="dt">y=</span><span class="dv">50</span>), <span class="dt">colour=</span><span class="st">"red"</span>, <span class="dt">angle=</span><span class="dv">90</span>)</code></pre></div>
<pre><code>Warning: Removed 14 rows containing missing values (geom_point).</code></pre>
<p><img src="lecture-11_files/figure-slidy/unnamed-chunk-20-1.png" width="1152" style="display: block; margin: auto;" /></p>
<p>Следствие из BSM – волатильность опционов должна быть одинаковой на всех страйках. Очевидно, что это не так. Рынок оценивает волатильность по разному на разных страйках.</p>
<p>Количество открытых позиций на определенных стайках значительно больше соседних значений – это целые значения стайков.</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">p =<span class="st"> </span><span class="kw">ggplot</span>(<span class="dt">data =</span> calls, <span class="kw">aes</span>(<span class="dt">x=</span>Strike, <span class="dt">y =</span> OI))
p =<span class="st"> </span>p <span class="op">+</span><span class="st"> </span><span class="kw">geom_bar</span>(<span class="dt">stat =</span> <span class="st">'identity'</span>)<span class="op">+</span><span class="kw">theme_minimal</span>()<span class="op">+</span><span class="kw">xlab</span>(<span class="st">'Страйк, $'</span>)<span class="op">+</span><span class="kw">ylab</span>(<span class="st">"OI, отктытых контрактов"</span>)
p<span class="op">+</span><span class="st"> </span><span class="kw">geom_vline</span>(<span class="dt">xintercept=</span>stock.price, <span class="dt">color =</span> <span class="st">'red'</span>)<span class="op">+</span><span class="st"> </span><span class="kw">geom_text</span>(<span class="kw">aes</span>(<span class="dt">x=</span>stock.price<span class="op">+</span><span class="dv">30</span>, <span class="dt">label=</span><span class="st">"Текущая цена акции"</span>, <span class="dt">y=</span><span class="dv">1000</span>), <span class="dt">colour=</span><span class="st">"red"</span>, <span class="dt">angle=</span><span class="dv">90</span>)</code></pre></div>
<p><img src="lecture-11_files/figure-slidy/unnamed-chunk-21-1.png" width="1152" style="display: block; margin: auto;" /></p>
</div>
<div id="---" class="slide section level2">
<h2>Биномиальная модель ценообразования опционов</h2>
<ul>
<li><p>Большинство опционов на практике не могут быть решены закрытым образом в рамках модели BSM. Различные численные методы используются в этом случае.</p></li>
<li><p>Эти методы могут быть достаточно сложными. Мы рассмотрим простой случай на основе <strong>биномиальной модели</strong>, которая дает представление, как работают эти методы.</p></li>
<li><p><strong>Биномиальная модель</strong> – древообразная модель, которая позволяет нам задавать изменение цены базового актива дискретными шагам.</p></li>
</ul>
</div>
<div id="--" class="slide section level2">
<h2>Иллюстация биномиальной модели</h2>
<p>Представим, что цена акции сегодня равна <span class="math inline">\(V\)</span>. В биномиальной модели значение акции через 6 месяцев может быть либо быть выше на <span class="math inline">\(u\)</span>, либо ниже на <span class="math inline">\(d\)</span>. Таким образом, через 6 месяцев значение цены акции можеть быть либо <span class="math inline">\(Vd\)</span>, либо <span class="math inline">\(Vu\)</span>. В конце года (через 12 месяцев), значение может либо <span class="math inline">\(Vuu\)</span>, либо <span class="math inline">\(Vud=Vdu\)</span>, либо <span class="math inline">\(Vdd\)</span>.</p>
<div align="center">
<p><img src="fig/binomial.png" width="608" height="396" /></p>
</div>
</div>
<div id="--" class="slide section level2">
<h2>Риск-нейтральная вероятность</h2>
<p><strong>Риск-нейтральная вероятность</strong> <span class="math inline">\(p\)</span> определяет вероятность того, что цена акции пойдет вверх. Значит, вероятность того, что акция пойдет вниз равна <span class="math inline">\(1-p\)</span>.</p>
<p>Вернемся к нашему примеру с опционом на AMZN, в котором цена акции = 1159, страйк = 1150, время до истечения равно = 0,12 лет, историческая волатильность равна 21%. Предполжим, что безрисковая ставка равна 1,3% в год. Какова стоимость такого опциона в рамках биномиальной модели?</p>
<p>Рассчитаем значение фактора <span class="math inline">\(u\)</span> как</p>
<p><span class="math display">\[ u = exp(\sigma \cdot \sqrt{dt}) = 1.053037 \]</span> где <span class="math inline">\(dt\)</span> определяет временной интервал каждого шага, то есть (TTM/2), если мы берем случай двух шагов.</p>
<p>Величина <span class="math inline">\(d = 1/u = 0.9496342\)</span></p>
<p>Если цена акции равна 1159, то в конце первого шага она может быть равно либо 1.053037 * 1159 = 1220.47, либо 1100.63 = 0.9496342. В конце второго шага есть следующие три варианта: 1285.2, 1159.0, 1045.2</p>
<p>Тогда <span class="math inline">\(p\)</span> – риск-нейтральную вероятность того, что цена пойдет вверх, можно рассчитать как:</p>
<p><span class="math display">\[p = \frac{((1 + rf \cdot dt)) - d}{u-d} = \frac{(1+ 0.0007 \cdot 0.06)-0.9496342}{1.053037-0.9496342} = 0.4875\]</span></p>
<p>тогда <span class="math inline">\(1-p=0.5125\)</span></p>
</div>
<div id="------" class="slide section level2">
<h2>Расчет стоимости опциона в рамках биномильной модели</h2>
<div align="center">
<p><img src="fig/binom-example.png" width="642" height="602" /></p>
</div>
</div>
<div id="-----r" class="slide section level2">
<h2>Имплементация биномиальной модели расчета в R</h2>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"> EuroCRR <-<span class="st"> </span><span class="cf">function</span>(S,K,T,r,sigma,n,type){
x =<span class="st"> </span><span class="ot">NA</span>
<span class="cf">if</span> (type<span class="op">==</span><span class="st">"call"</span>) x=<span class="dv">1</span>
<span class="cf">if</span> (type<span class="op">==</span><span class="st">"put"</span>) x=<span class="op">-</span><span class="dv">1</span>
<span class="cf">if</span>(<span class="kw">is.na</span>(x)) <span class="kw">stop</span>(<span class="st">"Option Type can only be call or put"</span>)
dt =<span class="st"> </span>T<span class="op">/</span>n
u =<span class="st"> </span><span class="kw">exp</span>(sigma<span class="op">*</span><span class="kw">sqrt</span>(dt))
d =<span class="st"> </span><span class="dv">1</span><span class="op">/</span>u
p =<span class="st"> </span>((<span class="dv">1</span> <span class="op">+</span><span class="st"> </span>r <span class="op">*</span><span class="st"> </span>dt)<span class="op">-</span><span class="st"> </span>d)<span class="op">/</span>(u<span class="op">-</span>d)
disc =<span class="st"> </span><span class="dv">1</span> <span class="op">+</span><span class="st"> </span>r <span class="op">*</span><span class="st"> </span>dt
OptVal =<span class="st"> </span>x <span class="op">*</span><span class="st"> </span>(S<span class="op">*</span>u<span class="op">^</span>(<span class="dv">0</span><span class="op">:</span>n)<span class="op">*</span>d<span class="op">^</span>(n<span class="op">:</span><span class="dv">0</span>)<span class="op">-</span>K)
OptVal =<span class="st"> </span><span class="kw">ifelse</span>(OptVal<span class="op"><</span><span class="dv">0</span>, <span class="dv">0</span>, OptVal)
<span class="cf">for</span>(j <span class="cf">in</span> <span class="kw">seq</span>(<span class="dt">from =</span> n<span class="op">-</span><span class="dv">1</span>, <span class="dt">to =</span> <span class="dv">0</span>, <span class="dt">by =</span> <span class="op">-</span><span class="dv">1</span>))
<span class="cf">for</span>(i <span class="cf">in</span> <span class="dv">0</span><span class="op">:</span>j)
OptVal[i<span class="op">+</span><span class="dv">1</span>] =<span class="st"> </span>(p<span class="op">*</span>OptVal[i<span class="op">+</span><span class="dv">2</span>] <span class="op">+</span><span class="st"> </span>(<span class="dv">1</span><span class="op">-</span>p)<span class="op">*</span>OptVal[i<span class="op">+</span><span class="dv">1</span>])<span class="op">/</span>disc
value=OptVal[<span class="dv">1</span>]
results <-<span class="st"> </span><span class="kw">rbind</span>(u,d,p,value)
results
} </code></pre></div>
<p>рассчитаем стоимость нашего опциона со страйком 1159 с двумя шагами</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">EuroCRR</span>(<span class="dv">1159</span>,<span class="dv">1150</span>,TTM,<span class="fl">0.0007</span>,hist.vol,<span class="dv">2</span>,<span class="st">"call"</span>)</code></pre></div>
<pre><code> [,1]
u 1.0529345
d 0.9497267
p 0.4875164
value 36.5679272</code></pre>
<p>если мы увеличим количество шагов, то получим постепенное приближение к модели BSM</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">EuroCRR</span>(<span class="dv">1159</span>,<span class="dv">1150</span>,TTM,<span class="fl">0.0007</span>,hist.vol,<span class="dv">100</span>,<span class="st">"call"</span>)</code></pre></div>
<pre><code> [,1]
u 1.0073213
d 0.9927319
p 0.4982342
value 38.4155176</code></pre>
</div>
<div id="c--" class="slide section level2">
<h2>Cписок использованных источников</h2>
<ol style="list-style-type: decimal">
<li>Black, F., & Scholes, M. (1973). Pricing of options and corporate liabilities. The Journal of Political Economy, 81, 637–654.</li>
<li>Hull, J. (2011). Options, futures, and other derivatives (8th ed.). Prentice Hall.</li>
<li>Wilmott, P. (2007). Paul Wilmott introduces quantitative finance (2nd ed.). New Jersey: Wiley.</li>
<li>Ang, C. (2015). “Analyzing Financial Data and Implementing Financial Models”. Springer.</li>
</ol>
</div>
<!-- dynamically load mathjax for compatibility with self-contained -->
<script>
(function () {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
document.getElementsByTagName("head")[0].appendChild(script);
})();
</script>
</body>
</html>