Forum: PC-Programmierung R oder Python zur berechnung der Volatilität


von Volatil (Gast)


Lesenswert?

Hallo

Ich bin auf der suche nach einem script, welches Marktdaten eines Titels 
(zb. von Yahoo finance) runterlädt und anschliessend die aktuelle 
Volatilität dessen berechnet.

Hintergedanken ist, dass ich daraus Anschliessend die implizite 
Volatilität sowie black-scholes berechnen möchte und diese Daten mit den 
Warrants auf payoff.ch/Swiss Dots abgleichen möchte. Und mir perlen aus 
den 50k+ warrants rauspicken möchte welche über gernines Premium 
verfügen.

Wenn ein Script mehr als den ersten Abschnitt ausführt, umso besser :-) 
bevorzugt in R oder Python...

von Weg mit dem Troll - subito (Gast)


Lesenswert?

Ich denke, das Herunterladen ist der schwierigere Teil. Also 
konzentriere dich and das. Die Rechnung ist geschenkt.

von Volatil (Gast)


Lesenswert?

ich habs:

library(quantmod)
library(Quandl)

.GDAXI = getSymbols('^GDAXI', warnings = FALSE, auto.assign = FALSE)
GDAXI = na.fill(.GDAXI, fill = "extend")[,AdjustedPrice, drop=FALSE]

vol=volatility(GDAXI,n=25,N=252,calc='close')

danach kann mit EuropeanOption der Faire preis bestimmt werden. Und 
anschliessend mit EuropeanOptionImpliedVolatility die Implizite 
Volatilität basierend auf den fairen Preis gemessen an der historischen 
Volatilität.

Anyway mir ist aufgefallen, dass die DAX Optionen von Goldman Sachs 
(Goldman Sachs als bsp da diese transparent die Daten zur verfügung 
stellen, und sind normalerweise konkurenzfähig) eine fast dopelt so 
hoche Implizite volatilität annehmen als ich berechnet habe.

Verstehe ich es richtig, das die letztmonatliche Volatilität als die 
ausschlaggebende Volatilität zur berechnung von Optionen ist? 
(volatility(GDAXI,n=25,N=252,calc='close') oder berechnen dies die 
Warranthäuser anders?

Nun wenn meine annahmen korrekt sind, würde dies bedeuten, dass Goldman 
Sachs davon ausgeht, dass die Volatilität im Dez doppelt so hoch ist wie 
im Nov?!? Mache ich einen Fehler oder ist dies Abzocke?

von Peter M. (r2d3)


Lesenswert?

..

: Bearbeitet durch User
von Volatil (Gast)


Lesenswert?


von Peter M. (r2d3)


Lesenswert?

Volatil schrieb:
> Peter M. schrieb:
>> ..
>
> ?

Beschäftige Dich mit dem Unterschied zwischen historischer Volatilität 
und impliziter Volatilität.
Deine bisherige Verfahrensweise ist inhaltlich falsch.

Die historische Schadenshöhe bei Erdbeben beeinflusst zwar auch aktuelle 
Preise für Erdbebenversicherungen, diese sind aber nicht identisch.

Du schließt auch nicht von den Preisen für Oldtimer von vor einem Jahr 
auf die aktuellen Preise, oder?

Der Markt zeigt Dir Prämien für eine Vielzahl von Optionen (und 
Optionsscheinen). Das ist Dein Aufsatzpunkt.

Alles andere ist Kaffeesatzleserei.

Historische Volatilitäten sollte man auch ohne Bibliotheken zu Fuß 
ausrechnen können.
Für implizite Volatilitäten sind (selbstgeschriebene) Bibliotheken 
sinnvoll.

von Volatil (Gast)


Lesenswert?

Peter M. schrieb:
> Die historische Schadenshöhe bei Erdbeben beeinflusst zwar auch aktuelle
> Preise für Erdbebenversicherungen, diese sind aber nicht identisch.

Nun wenn ich annehme, dass die Historisch 100Mio Eur/Monat 
Erbebenschaden entstanden sind kann ich für den kommenden Monat aus 
welchen Gründen auch immer (wissenschaftliche erkentnisse in Bodenproben 
bez. Spannungen im Erdreich oder was auch immer) etwas höher erwarten. 
200 Mio zu erwarten scheint nicht etwas abwägig (nach 
Kaffesatzleserei)?! Demnach nehme ich als Versicherung als 
Berechnungsgrundlage die Dopplete prämie und schlage anschliessend meine 
Marge auf die Prämie oben drauf.

Nehmen wir mal das BSP vom ISIN: GB00BJ4D8K32, PUT auf DAX 12500 bis 
20.12, 
https://www.goldman-sachs.ch/ch/detail/GB00BJ4D8K32-put-auf-dax-performanceindex.
Gem. GS seite Implizite Volatilität 15.8% gem. historisch mit meiner 
oben beschriebenen Berechung ist 7.6%.

Publiziert irgend ein Optionshaus seine Formeln wie sie die impl. 
Volatilität berechnen?

Peter M. schrieb:
> Für implizite Volatilitäten sind (selbstgeschriebene) Bibliotheken
> sinnvoll.

Hast du sowas?

von Volatil (Gast)


Lesenswert?

Volatil schrieb:
> Nehmen wir mal das BSP vom ISIN: GB00BJ4D8K32, PUT auf DAX 12500 bis
> 20.12,

Meine natürlich ISIN: GB00BHMTSP49
https://www.goldman-sachs.ch/ch/detail/GB00BHMTSP49-put-auf-dax-performanceindex

von Peter M. (r2d3)


Lesenswert?

Volatil schrieb:
> Publiziert irgend ein Optionshaus seine Formeln wie sie die impl.
> Volatilität berechnen?

Woher soll ich das denn wissen?
Natürlich tuen sie das nicht!
Wieso fragst Du eigentlich hier und nicht in einem Börsenforum?

Keysight schreibt ja auch keine Aufsätze darüber, was die zahlreichen 
Kondis und Transen (Makersprech) im 3458A bewirken, deren Anwesenheit 
ein fortgeschrittener Anfänger wie ich nicht versteht.

Aber nichts hindert Dich daran, selber die implizite Volatilität auf 
Basis eines Dir zur Verfügung stehenden Modells zu berechnen.
Da Du ja offensichtlich von Goldman zeitgleich Preise und Volas kriegst, 
kannst Du das wunderschön vergleichen.

>
> Peter M. schrieb:
>> Für implizite Volatilitäten sind (selbstgeschriebene) Bibliotheken
>> sinnvoll.
>
> Hast du sowas?

Nein, nicht im Bibliotheksformat. Die ersten Routinen habe ich 1993 noch 
in GFA-Basic geschrieben. Es ging mir auch nur um amerikanische 
Optionen.
Dann habe ich das nach VBA portiert, so das ich das Ganze schön in einer 
Tabellenkalkulation benutzen konnte.

von Volatil (Gast)


Lesenswert?

Danke Peter!

Peter M. schrieb:
> Natürlich tuen sie das nicht!

schade

Peter M. schrieb:
> Wieso fragst Du eigentlich hier und nicht in einem Börsenforum?

Nun hier haben wir ein hervorragendes interdisziplinätres Forum, das 
Thema ist eingentlich im PC Softwarebereich richtig. Die Börsenforums 
die ich kenne, sind meistens zum grössten Teil von Rentnern bewohnt 
welche sich darüber austauschen, ob Sie persönlich der Meinung sind ob 
die Aktie X steigt oder nicht. Sowie ihre historische performance 
(insbesondere sofern diese gut war) kundtun.
Wieviele Leute da R kennen ist fraglich; anyway evtl kenne ich das 
entscheidende forum noch nicht, ich bin offen für Vorschläge.

Peter M. schrieb:
> Nein, nicht im Bibliotheksformat. Die ersten Routinen habe ich 1993 noch
> in GFA-Basic geschrieben. Es ging mir auch nur um amerikanische
> Optionen.
> Dann habe ich das nach VBA portiert, so das ich das Ganze schön in einer
> Tabellenkalkulation benutzen konnte.

Hmm leider habe ich aktuell so gut wie keine Ahnung in welcher Struktur 
solch eine Berechnung Bankenüblich stattfindet. Von welchen Parametern 
ist die Impl. Volatilität normalerweise abhängig? ImplVol = f(histvol,?)

Kannst du bitte etwas Beschreiben wie du beim der Bibliothek vorgegangen 
bist. Oder wo ich diesbezüglich fündig werde?

von Volatil (Gast)


Lesenswert?

Volatil schrieb:
> Die Börsenforums
> die ich kenne, sind meistens zum grössten Teil von Rentnern bewohnt
> welche sich darüber austauschen, ob Sie persönlich der Meinung sind ob
> die Aktie X steigt oder nicht. Sowie ihre historische performance
> (insbesondere sofern diese gut war) kundtun.

Nicht dass ich dies irgendwie Verurteilen würde. Nur leider hilft mir 
dies nur begrenzt weiter.

von Peter M. (r2d3)


Lesenswert?

Volatil schrieb:
> Hmm leider habe ich aktuell so gut wie keine Ahnung in welcher Struktur
> solch eine Berechnung Bankenüblich stattfindet. Von welchen Parametern
> ist die Impl. Volatilität normalerweise abhängig? ImplVol = f(histvol,?)

Sie ist vom Preis abhängig! :)

Zu Anfang hast Du irgendein Modell, z.B. Black/Scholes.
Das Modell braucht eine Reihe von Parametern, wie z.B. Kurs/Forward, 
risikoloser Zinssatz, Restlaufzeit,Vola, etc...

=> p=p(p1,p2,p3....)

Alle Modelle liefern die Preise auf Basis bestimmter Eingangsparameter.

Wenn Dir nun Optionen an Börsen oder Optionsscheinpreise anguckst, 
siehst Du aber nur Preise p, also das, was die Preisfunktion liefert. 
Den restlichen Datenkranz findest Du sonstwo, bis auf die implizite 
Vola.
Du hast also ein Modell und eine Gleichung, bei der nur die Vola 
unbekannt ist. Die rechnest Du nun "rückwärts". Du nutzt ein 
Iterationsverfahren bis Du den Preis, bzw. die Vola mit der von Dir 
gewünschten Genauigkeit getroffen hast.

> Kannst du bitte etwas Beschreiben wie du beim der Bibliothek vorgegangen
> bist. Oder wo ich diesbezüglich fündig werde?

1. passendes Modell finden (Black/Scholes kann nur europäische Optionen 
preisen
2. Preisfunktion programmieren
3. Preisfunktion im Rahmen des Näherungsverfahren für die implizite Vola 
nutzen
4. Inputdaten besorgen (insbesondere den Preis des Basiswerts bzw. der 
Forwardpreis passend zur Optionsfälligkeit brauchst Du zeitgleich mit 
dem Optionspreis, sonst vergleichst Du ja Äpfel mit Birnen
5. Rechnen und Spaß haben!

von Volatil (Gast)


Lesenswert?

Peter M. schrieb:
> Die rechnest Du nun "rückwärts".

EuropeanOptionImpliedVolatility habe ich benutzt, nur da ist die 
Unbekante der faire Optionspreis.

Also eigentlich habe ich 2 Unbekannte die sofern ich einen habe den 
anderen berechnen kann: fairer Optionspreis sowie Impl. vol.
Die EuropeanOptionImpliedVolatility nutzt vermutlich Newton Raphson mit 
einer geringen Fehlerschwelle.

Nun was eigentlich benötigt wird, ist eine formel impl. Vol = f(hist 
vol, etc. , ohne Optionspreis)

Oder halt eben die Preisfunktion: Faireroptionspreis = f(allem 
möglichen, ohne impl. Volatilität)

Peter M. schrieb:
> 2. Preisfunktion programmieren

2. ist der Knackpunkt


1. BlackScholes ist ok (EU opt)
3. Ok kann ich mit EuropeanOptionImpliedVolatility machen
4. Nun ich möchte meinen fairen berechneten Optionspreis mit dem Preis 
der GS bietet vergleichen und darauf meine Kauf/Verkaufentscheidung 
treffen.
5. :-)

von Bernd K. (prof7bit)


Lesenswert?

Volatil schrieb:
> Peter M. schrieb:
>> Wieso fragst Du eigentlich hier und nicht in einem Börsenforum?
>
> Nun hier haben wir ein hervorragendes interdisziplinätres Forum, das
> Thema ist eingentlich im PC Softwarebereich richtig.

Nein, das Thema ist extrem speziell und vollkommen abseits dessen womit 
sich hier 99% der Elektrotechnik-User hier beschäftigen, und auch die 
brilliantesten interdisziplinären Köpfe hier werden wohl kaum auswendig 
wissen was jetzt im Detail in den angesprochenen R-Libraris drin ist und 
welche Libraries es sonst noch gibt und wie die genau implementiert sind 
und welche Formeln die Bank Deines Vertrauens intern verwendet. Viele 
davon werden auch sowieso noch nie R benutzt haben denn nicht jeder hat 
Statistik als Hobby oder gar als Beruf. Bestenfalls sind sie nur mal 
kurz in jungen Jahren damit in Kontakt gekommen und haben schnell wieder 
das Weite gesucht bevor sie je in die inneren Kreise des R-Inferno 
vorgedrungen sind.

Wenn Du Hilfe mit diesen ganz speziellen R Libraries haben willst die 
nur für diese eine Branche interessant sind solltest Du ein Fachforum 
für Quant-Trader aufsuchen. Wenn Du allgemeine Hilfe mit R brauchst 
solltest Du ein Forum für Statistiker und Dataminer aufsuchen.

Zum Beispiel würd ich bei Deinem Vorhaben mindestens mal die 
Mailinglisten R-help und R-SIG-Finance abonnieren. Vielleicht findest Du 
auch entsprechende Foren im Web.

: Bearbeitet durch User
von Peter M. (r2d3)


Lesenswert?

Hallo Volatil,

Volatil schrieb:
> Nun was eigentlich benötigt wird, ist eine formel impl. Vol = f(hist
> vol, etc. , ohne Optionspreis)
>
> Oder halt eben die Preisfunktion: Faireroptionspreis = f(allem
> möglichen, ohne impl. Volatilität)

Genauso gut kannst Du eine Formel suchen, die Dir die Bewegungsenergie 
eines Körpers berechnet ohne Berücksichtigung der Geschwindigkeit des 
Körpers.

Aus vorhandenen Optionspreisen am Markt kannst Du viele verschiedene 
implizite Volatilitäten ausrechnen.

Dann kannst Du in Dich gehen und daraus versuchen, eine Volatilität 
abzuleiten, die zur Ausgestaltung Deiner Option passt.

Es gibt keine "fairen Optionspreise". Es gibt nur Marktpreise. Du kannst 
darauf handeln oder nicht. An Börsen mit Optionshandel kannst Du auch 
Dir überteuert erscheinende Optionen leerverkaufen.

Bernd K. schrieb:
> Fachforum
> für Quant-Trader aufsuchen.

Volatil fehlen die Grundlagen. Spätestens nach Skizzierung der von ihm 
verlangten Formel für Optionspreise für "faire Preise ohne implizite 
Volatilität" wird die Resonanz auf seine Beiträge fallen.

: Bearbeitet durch User
von Volatil (Gast)


Lesenswert?

Peter M. schrieb:
> Volatil fehlen die Grundlagen. Spätestens nach Skizzierung der von ihm
> verlangten Formel für Optionspreise für "faire Preise ohne implizite
> Volatilität" wird die Resonanz auf seine Beiträge fallen.

Gut möglich, evtl habe ich mich auch falsch ausgedrückt.

Nun als input benötige ich den Optionspreis oder daraus abgeleitet die 
Implizite Volatilität. Dies kann hin und her berechnet werden. Sobald 
man das eine hat kann man das andere berechnen.

Was ich aber suche ist einen weg eines der beiden zu berechen ohne 
Inputs der Bank zu verwenden (optionspreis oder impl vol).

Die Bank macht dies ebenfalls estellt Option gem ihrer annahme zur 
impl.vol. und legt optionspreis fest.

von Peter M. (r2d3)


Lesenswert?

Volatil schrieb:
> Die Bank macht dies ebenfalls estellt Option gem ihrer annahme zur
> impl.vol. und legt optionspreis fest.

Deutsch gut? Ich nix verstehen.

Guck' Dir Terminbörsen mit Optionen an, z.B. die Eurex.
Was zu billig ist, kannst Du kaufen, was zu teuer ist, kannst Du 
leerverkaufen. Das geht bei den Optionsscheinchen nicht.

Du kannst an alle Preise ein Etikett "implizite Vola" zum Vergleich 
drankleben.

Ob Du Dir Preise für VW-Aktien oder Dax-Optionen ausdenkst, ist beides 
dasselbe. Handelbar sind nur die Börsenpreise und keine persönlichen 
obskuren Fantasien, was eine Option wert sein müsste.
Und wenn Du bei der Elektronikapotheke ohne Zeitdruck einkaufst und die 
Alternativen ignorierst, darfst Du Dich über die Preise nicht 
beschweren.

: Bearbeitet durch User
von Volatil (Gast)


Lesenswert?

Peter M. schrieb:
> Deutsch gut? Ich nix verstehen.

Die Bank welche die Optionen anbietet legt bei der Neuemission eines 
Warrants den Preis fest sowie die Implizite Volatilität mit welcher sie 
diesen Emissionspreis berechnet.
Daher kann die Schlussfolgerung gezogen werden, dass die Bank eine 
Möglichkeit haben muss die Implizite Volatilität zu berechnen anhand der 
Vorhanden Daten. Dies schliesst den Optionspreis aus.

Mir geht es darum diese Möglichkeit ebenfalls zu haben. Und dies 
bestenfalls mit einem R script zuhause an meinem Rechner auszuführen.

von Peter M. (r2d3)


Lesenswert?

Volatil schrieb:
> Die Bank welche die Optionen anbietet legt bei der Neuemission eines
> Warrants den Preis fest sowie die Implizite Volatilität mit welcher sie
> diesen Emissionspreis berechnet.

Da wird nichts festgelegt. Alles wird dynamisch berechnet. Und je nach 
Marktlage ändert der Händler die Vola für die Scheinberechnung auch noch 
manuell. Im übrigen bietet die Bank Optionsscheine an und keine 
Optionen. Den Unterschied müsstest Du Dir noch anlesen.

Volatil schrieb:
> Daher kann die Schlussfolgerung gezogen werden, dass die Bank eine
> Möglichkeit haben muss die Implizite Volatilität zu berechnen anhand der
> Vorhanden Daten. Dies schliesst den Optionspreis aus.

Habe ich oben beschrieben.

: Bearbeitet durch User
von Volatil (Gast)


Lesenswert?

Peter M. schrieb:
> Ob Du Dir Preise für VW-Aktien oder Dax-Optionen ausdenkst, ist beides
> dasselbe. Handelbar sind nur die Börsenpreise und keine persönlichen
> obskuren Fantasien, was eine Option wert sein müsste.

Nun genau der Unterschid zwischen dem Optionspreis und einer guten 
Eigenberechnung sollte der Profit sein.

Dazu benötigt man jedoch eine präzise Berechnung und keine obskuren 
Fantasien.

Aber grundsätzlich beschreibt dies meine Motivation die Implizite 
Volatilität möglichst präzise unabhängig von der Bank zu berechnen.

von Volatil (Gast)


Lesenswert?

Peter M. schrieb:
> Da wird nichts festgelegt. Alles wird dynamisch berechnet. Und je nach
> Marktlage ändert der Händler die Vola für die Scheinberechnung auch noch
> manuell

Nun wenn die Bank nach jedem belieben über ihre Implizite Volatilität 
bestimmen kann ist eigentlich ebenfalls das Vega nicht besonders 
Aussagekräftig.
Dieses beschreibt dien Faktor der Auswirkung einer impl. 
Volatilitätsänderung, wenn diese nicht fix nach einem gegebenen 
Algorithmus berechnet besteht möglichkeit zur Manipulation....

von Peter M. (r2d3)


Lesenswert?

Volatil schrieb:
> Peter M. schrieb:
>> Da wird nichts festgelegt. Alles wird dynamisch berechnet. Und je nach
>> Marktlage ändert der Händler die Vola für die Scheinberechnung auch noch
>> manuell
>
> Nun wenn die Bank nach jedem belieben über ihre Implizite Volatilität
> bestimmen kann

Ich finde, man sollte alle Preise zentral festlegen. :)

> ist eigentlich ebenfalls das Vega nicht besonders
> Aussagekräftig.

Richtig. Aber Du ignorierst ja meine Beiträge und Empfehlungen.

Arbeitest Du für die nette Professorin an der Uni Lüneburg?
Die steht auf solche Themen.

> Dieses beschreibt dien Faktor der Auswirkung einer impl.
> Volatilitätsänderung, wenn diese nicht fix nach einem gegebenen
> Algorithmus berechnet besteht möglichkeit zur Manipulation....

Nach Deiner Argumentation manipuliert mein REWE-Markt die Milchpreise 
und die Shell-Tankstelle die Spritpreise.

: Bearbeitet durch User
von Helmut H. (helmuth)


Lesenswert?

Volatil schrieb:
> Nun genau der Unterschid zwischen dem Optionspreis und einer guten
> Eigenberechnung sollte der Profit sein.

Optionsscheine sind Wetten auf den zukünftigen Kurs des Underlyings. Der 
Emittent (=Wettveranstalter)  muss damit Geld verdienen.
Es zeugt schon von einem starken Selbstbewusstsein zu denken, man sei 
schlauer als die, die diese Geschäfte professionell betreiben.
Empfehle dringend, bei den vorhandenen Kenntnissen zunächst mit 
historischen Daten Trockenübungen zu machen bevor es um echtes Geld 
geht.

: Bearbeitet durch User
von Peter M. (r2d3)


Lesenswert?

Hallo Helmut H.,

Helmut H. schrieb:
> ptionsscheine sind Wetten auf den zukünftigen Kurs des Underlyings. Der

Für den Endkunden stimmt das, für den Emittenten nicht.

von Volatil (Gast)


Lesenswert?

Helmut H. schrieb:
> Es zeugt schon von einem starken Selbstbewusstsein zu denken, man sei
> schlauer als die, die diese Geschäfte professionell betreiben.

Aktuell ist nicht die Frage ob ichs besser kann, sondern wie ichs 
überhaubt erreichen kann einen einigermassen sinnvollen output zu 
erhalten.

Bei der Ausgangslage müssen wir etwas tiefer ansetzen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.