Dieser Optionsrechner wurde so konzipiert, dass jeder, vom Anfänger bis zum erweiterten Optionshändler, sofort damit beginnen kann. Das folgende strukturierte Beispiel steht Ihnen zur Verfügung. Der DEFINITIONS-Bereich wird durch Scrollen erreicht. Der Optionsrechner ist am besten bei einer Bildschirmauflösung von 800 x 600 Pixeln zu sehen. Wenn Sie den gesamten Rechner nicht auf dem Bildschirm sehen können, wird die Auflösung auf Ihrem Bildschirm auf 640 mal 480 Pixel eingestellt. ANWEISUNGEN Es besteht keine Notwendigkeit, die Suche nach allen geeigneten Optionseingabeparametern mit dem IVolatility Options Optionsrechner zu kämpfen. Das ist, weil IVolatilität Sie von dieser Belastung durch Straffung der Eingabeprozess erleichtert hat. Was wir getan haben, ist die Gestaltung des Taschenrechners, so dass alle Eingabewerte, die zum Preis einer Option benötigt werden, vorher aus unserer umfangreichen Datenbank ermittelt werden und dann auf Ihrem Bildschirm erscheinen, wann immer Sie den einzelnen Bestand oder die Option Ihrer Wahl eingeben und auf die Schaltfläche GO klicken . Sobald die GO-Taste angeklickt ist, tippt der Optionsrechner einfach auf die umfangreichen Optionsdatenbanken und verschiebt dann den entsprechenden Aktienkurs, den Zinssatz, die Dividenden (falls vorhanden) und den Zahlungsplan für die jeweilige Aktie oder Option. Wenn eine Aktie aufgerufen wird, bringt sie dann automatisch den Optionsmonat auf, der am nächsten zum Ablauf und der (pc) - Serie ist, die am nächsten ist, um am Geld zu sein. MAKE CHANGES Um einen Wert zu ersetzen oder eine Änderung vorzunehmen, kannst du entweder (1) den Wert markieren und dann den neuen Wert eingeben, (2) auf das Dropdown-Feld klicken und eine Auswahl treffen oder (3) auf das Inkrement klicken Pfeile und Umschalten auf den entsprechenden Wert. Durch die Änderung der Optionen können Sie Ihre eigene What-If-Analyse erstellen. Je nachdem, was Sie denken können passieren, können Sie die Optionen Stil ändern, die Aktien Preis, die Optionen Streik, das Ablaufdatum, die Tage bis zum Ablauf, die Volatilität, der Zinssatz und schließlich können Sie die Dividendenbeträge und die Zahlung Zeitplan ändern Von Dividenden. Nachdem Sie die Einstellungen vorgenommen haben, können Sie die Optionen neue Werte festlegen, indem Sie auf die obere CALCULATE-Taste klicken. Sie verwenden nur die unten berechnete Schaltfläche, wann immer Sie sehen wollen, was impliziert Volatilität entspricht einem neuen Optionspreis, der daneben eingegeben wird. Um alle Werte auf ihre Standardwerte zurückzusetzen und alle berechneten Werte zu entfernen, klicken Sie einfach auf die Schaltfläche GO. A WORKING BEISPIEL SCHRITT 1 (Stock Symbol oder Index Symbol, Option Symbol oder Hilfe): Sobald Sie ein Symbol haben, können Sie es dann verwenden, um den Aktienkurs zu sehen und die nächstgelegenen ablaufenden Geld-zu-Geld-Optionen zu sehen. Geben Sie z. B. MSFT ein und klicken Sie im Dropdown-Menü auf die Schaltfläche "Gehe zu wählen". Die nahegelegene Geldoption für Microsoft wird angezeigt. Denken Sie daran, wenn Sie nicht wissen, die Aktien-Namen, Lager-Symbol oder die Option können Sie jetzt sehen es schnell und einfach, indem Sie seinen Namen, sein Symbol, seine Option Root oder seine volle Option Kette mit Symbol-Lookup am oberen Rand der Seite. Sobald Sie das Stock Symbol, Option Symbol oder Option root eingeben, klicken Sie einfach auf die GO-Taste, um den Optionspreis zu erhalten. Allerdings, wenn Sie stattdessen Hilfe benötigen, dann klicken Sie auf die Taschenrechner Hilfe Link. Beispiel: Stock-Microsoft Beispiel: Symbol-MSFT CHOOSE - Stock Symbol oder Index Symbol und dann geben Sie MSFT und klicken Sie dann auf die GO-Taste STEP 2 (American vs. European Style): Die nächste Option Preisgestaltung, die Sie machen müssen, ist, ob zu Preis die Option als American Style oder European Style Typ Option. Hier ist der Unterschied zwischen den beiden. AMERICAN STYLE: Alle Aktienoptionen, die zum Handel an den Optionsbörsen in den USA aufgeführt sind, sind amerikanische Optionen. Dies bedeutet, dass die Option jederzeit vor Ablauf der Ausübung ausgeübt werden kann. Diese frühe Ausübung Fähigkeit ist in die Preisgestaltung der Optionen berücksichtigt. Es gibt einige Index-Optionen, die amerikanischen Stil sind und Sie sollten die Produkt-Spezifikationen von der Börse für diese Informationen zu überprüfen. Dieser Optionsrechner verwendet ein Binomialmodell mit 100 Schritten, um einen theoretischen Preis für amerikanische Stiloptionen zu erstellen. EUROPEAN STYLE: Die meisten (aber nicht alle) Indexoptionen, die zum Handel an den Optionsbörsen in den USA aufgeführt sind, sind europäische Stiloptionen. Dies bedeutet, dass die Option nur am letzten Handelstag vor dem Verfall ausgeübt werden kann. Diese Unfähigkeit, bis zum Ablauf zu üben, wird in die Preisgestaltung der Optionen berücksichtigt. Dieser Optionsrechner verwendet ein Black-Scholes-Modell für europäische Stiloptionen. SCHRITT 3 (Preis): Der angegebene Preis ist der letzte Übernachtungspreis. Wenn Sie es auf den heutigen aktuellen Preis oder einen anderen Preis ändern möchten, geben Sie einfach den Preis, den Sie wollen. Beachten Sie, dass der Preis im Dezimalformat eingegeben werden muss (d. h. 105,25) SCHRITT 4 (Strike): Der Ausübungspreis der gezeigten Option kann geändert werden. Der Ausfall ist der at-the-money-Streik. Die Auf - und Abwärtspfeile rechts von der STRIKE-Box können verwendet werden, um den Ausübungspreis in bestimmten Schritten zu verschieben. Bei Streiks unter 50 ist das Inkrement 2,5 Punkte. Bei Streiks über 50 und unter 200 beträgt das Intervall 5 Punkte. Bei Streiks über 200 ist das Intervall 10 Punkte. Sie können auch den STRIKE Preis manuell ersetzen, mit einem Streik, den Sie wollen. SCHRITT 5 (Verfall): Wählen Sie den Ablaufmonat (das System berechnet automatisch die Anzahl der Tage bis zum Verfall) oder ändern Sie die Anzahl der Tage bis zum Ablauf einer beliebigen Anzahl, die Sie wählen. Der Standardwert ist der aktuelle Ablaufmonat und kann durch Umschalten der Aufwärts - oder Abwärtspfeile rechts von der Box geändert werden. SCHRITT 6 (Volatilität): Der Standardwert wird automatisch aus der Datenbank abgeleitet. Dennoch ist die Standard-Volatilität aus der letzten Nacht impliziert Volatilität für die jeweilige Put - und Call-Option-Serie abgeleitet. Sie können die Volatilität ändern, indem Sie einen anderen Wert eingeben, den Sie möchten. Siehe die Definitionen Abschnitt für eine umfassendere Diskussion über Volatilität und wie diese Zahl bestimmt ist. STEP 7 (Zinssatz): Der Standardwert wird automatisch aus der Datenbank abgeleitet. Dennoch ist der ausfallende risikolose Zinssatz aus dem letzten Schatzmarkt der letzten Nächte abgeleitet und entspricht dem Auszahlungstermin. Sie können den Zinssatz ändern, indem Sie einen anderen Wert eingeben, den Sie möchten. SCHRITT 8 (Dividendenbetrag, Datum amp Frequency): Je nachdem, ob eine Aktie eine Dividende ausschüttet oder nicht, kann dieser Abschnitt Daten enthalten oder nicht. Wenn es Daten innerhalb der Felder gibt, können Sie es ändern, indem Sie einfach den Dividendenbetrag hinzufügen und wenn sie in die Felder eingezahlt werden. Der Optionsrechner wird dann die Optionen entsprechend bewerten. Verwenden Sie kein Dollarzeichen für den Dividendenbetrag. SCHRITT 9 (Berechnung): Sie sind nun bereit, den Anruf zu berechnen und die Preise für diese Option zu setzen. Wir können überprüfen, dass Sie verstehen, wie Sie Änderungen an allen Eingaben vornehmen, indem Sie eine letzte Änderung vornehmen. Erinnern Sie sich, dass das System automatisch den Unterschied zwischen dem heutigen Datum und dem Ablauf der Option aktualisiert. Um diese automatische Funktion zu überfahren, lassen Sie uns in den Tagen bis zum Ablauffeld 35 eingeben. Auf diese Weise werden wir alle diese Option mit den gleichen Parametern bewerben. Sobald Sie dies getan haben, klicken Sie auf die obere CALCULATE-Taste und der Optionspreis wird aus allen oben genannten Werten berechnet. Der Preis, den du bekommen solltest, wenn du die obigen Anpassungen gemacht hast, ist 5.8473 für die Anrufe und 10.0017 für die Puts. Die Griechen werden in Verbindung mit den Optionen Preisen berechnet. Griechen (Delta, Gamma, Theta, Vega und Rho) sind mathematische Werte, die die Empfindlichkeit eines Optionspreises auf Lager, Zeit, Volatilität und Zinsänderungen messen - siehe DEFINITIONEN. Dieser Taschenrechner erlaubt Ihnen, eine eintägige Berechnung von Theta zu sehen. Allerdings können Sie jede Menge Theta-Zerfall berechnen, indem Sie die Tage bis zum Verfall ändern. Zum Beispiel, wenn Sie wollten, um die Zeit Zerfall Kosten mit einer 10 Tage Laufzeit zu berechnen, würden Sie einfach subtrahieren 10 Tage von den Optionen Zeit bis zum Auslaufen und dann vergleichen, dass Optionen Preis auf die ursprüngliche Option Preis. SCHRITT 10 (IMPLIZIERTE VOLATILITÄT) Wenn Sie alle Variablen im Options-Preismodell mit Ausnahme der Volatilität konstant halten, kann der Benutzer alternative Kurse für eine Anrufoption oder eine Put-Option eingeben, um zu sehen, welche Volatilität verwendet werden muss, um diesen Optionenpreis zu erstellen. Diese Volatilität heißt implizite Volatilität - siehe DEFINITIONEN. Die implizite Volatilität wird wie folgt berechnet: Geben Sie einen Optionspreis ein. Dieser Preis kann ein theoretischer Preis sein oder man wird direkt vom Optionsmarkt beobachtet, wo die Option gehandelt wird. Klicken Sie auf die untere CALCULATE-Taste und die implizite Volatilität wird angezeigt. AMERICAN-STYLE OPTION Ein Put oder Rufe, die jederzeit vor Ablauf der Ausübung ausgeübt werden kann. Die meisten aufgeführten Aktienoptionen, einschließlich der an Übersee-Börsen, sind amerikanischen Stil. CALL Eine Option, in der der Inhaber das Recht hat, aber nicht die Verpflichtung, die zugrunde liegende Sicherheit zu einem bestimmten Ausübungspreis für eine begrenzte Zeit zu kaufen. TAGE ZUR EXPIRATION Die Anzahl der verbleibenden Tage in einem Optionsleben, bevor es abläuft und wertlos wird oder ausgeübt wird und gleichbedeutend ist mit seinem intrinsischen Wert. EUROPEAN-STYLE OPTION Ein Satz oder ein Anruf, der nur nach Ablauf des Verfallsdatums ausgeübt werden kann. In den letzten Jahren wurden eine Reihe von Optionen im europäischen Stil eingeführt, insbesondere auf Aktienindex - und Währungsoptionen. Eine der bemerkenswertesten Optionen im europäischen Stil ist der SampP 500 Index (SPX). EXPIRATION Das Datum, an dem die Option ausläuft oder nichtig wird. Das Verfallsdatum für börsennotierte Aktienoptionen ist der Samstag nach dem dritten Freitag des Verfallmonats. Ein Optionsinhaber, der beabsichtigt, eine Option nach Ablauf zu üben, muss seiner oder ihrer Vermittlungsfirma Ausübung Weisungen vor der Firmenabschlusszeit für die Annahme von Übungsanweisungen am letzten Handelstag vor Ablauf geben. DIE GRIECHISCHEN Ein griechischer Buchstabe bezeichnet eine Optionen Empfindlichkeit gegenüber bestimmten Bewegungsarten. Beispiele sind Delta, Gamma, Theta, Vega, Rho und Alpha - alle, die durch die englischsprachige Schreibweise ihrer jeweiligen griechischen Buchstaben gekennzeichnet sind. DELTA Der Betrag, den ein Optionspreis für eine entsprechende Ein-Punkt-Änderung des Kurses des zugrunde liegenden Wertpapiers ändern wird. GAMMA Die Änderung in Delta geteilt durch den Dollar ändern sich im Preis des zugrunde liegenden Wertpapiers Preis. Es ist die Messung der Veränderungsrate eines Optionspreises in Bezug auf den zugrunde liegenden Preis. THETA Ein Maß dafür, wie viel ein Optionspreis im Laufe der Zeit mit dem Preis des zugrunde liegenden Wertpapiers zerfällt und implizite Volatilität unverändert bleibt. VEGA Die Maßnahme der Veränderung eines Optionspreises in Reaktion auf eine prozentuale Veränderung der Volatilität. RHO Ein Maß für die Veränderung des Optionspreises als Reaktion auf eine prozentuale Veränderung des risikofreien Zinsniveaus. ALPHA Alpha ist ein Verhältnis von Gamma über Theta. So gibt Alpha den relativen Wert des Besitzes von Gamma relativ zum aktuellen Niveau von Theta an. Alpha wurde als ein Knall für Ihre Buck-Maßnahme beschrieben. Es ist eine Maßnahme, die einen Vergleich von verschiedenen Optionen erlaubt, auf der Grundlage, wie viel sie täglich täglich (täglich Theta) im Vergleich zu der potenziellen Gamma abgeleiteten Rückkehr (Gewinne aus der Bewegung) aus dem Besitz von ihnen kosten. Der größere absolute Wert von Alpha, desto mehr Gewinnpotenzial besteht für den Verlust von Theta für Longpositionen. Das Gegenteil gilt für kurze Positionen. IMPLIZIERTE VOLATILITÄT Der Volatilitätswert, den Optionskäufer und Verkäufer von dem Marktpreis der Option zu akzeptieren scheinen. Es wird erreicht, indem man den aktuellen Optionspreis in ein Optionspreismodell einfügt und diese unbekannte Volatilität auf einer iterativen Basis findet. INTERESSE Die Kosten für die Verwendung von Geld, wie sie mit einer Rate pro Zeitspanne bestimmt werden, in der Regel ein Jahr (d. H. Jährlicher Zinssatz). Optionen Käufer und Verkäufer in der Regel verfolgen die risikofreie Zinssatz der U. S. Treasuries. PUT Eine Option, bei der der Inhaber das Recht hat, aber nicht die Verpflichtung, die zugrunde liegende Sicherheit zu einem bestimmten Ausübungspreis für eine begrenzte Zeit zu verkaufen. STRIKPREIS Der Preis, zu dem die Sicherheit oder der Index, der einer Option zugrunde liegt, für eine Call-Option erworben werden kann oder für eine Put-Option während der gesamten Laufzeit einer Option verkauft wird. Auch als Ausübungspreis bekannt. UNTERNEHMENSPREIS StockIndex - Der aktuelle Preis der Aktie oder Wert des Index, der Gegenstand einer Option ist. VOLATILITÄT Ein Maß für den Betrag, um den eine zugrunde liegende Sicherheit in einem bestimmten Zeitraum schwanken kann. In der Regel gemessen durch die Varianz oder annualisierte Standardabweichung der Tagespreisänderungen in einer Sicherheit. Es soll hoch sein, wenn sich der Preis in kurzer Zeit dramatisch ändert. Volatilität ist eines der wichtigsten Elemente bei der Bewertung einer Option, weil es in der Regel die einzige Bewertungsvariable ist, die im Voraus nicht mit Sicherheit bekannt ist. TopquotBlack-Scholesquot in mehreren Sprachen Januar 2008: Nach dem Studium der Literatur (was viele der berühmten Akademiker selbst offensichtlich nicht richtig gemacht haben) ist es offensichtlich, dass wir Optionshändlern die Black-Scholes-Merton-Formel in der Praxis nie benutzt haben (siehe auch Artikel in Frobes) Nur wenn du in der Nähe der kontinuierlichen Zeit Delta Hedging zu entfernen, um nah an all das Risiko zu entfernen, die ganze Zeit, die Sie tatsächlich mit der Black-Scholes (oder die Black-Scholes-Merton) Version der Option Formel verwenden. Das einzige Problem ist in der Praxis unmöglich. Wenn Sie das meiste Risiko durch die Absicherung von Optionen mit Optionen entfernen, erhalten Sie immun gegen das Risiko, indem Sie Ihr Optionsportfolio konstruieren, indem Sie die Trader formulamethod verwenden, die vor Black-Scholes-Merton von einer Reihe von Händlern und Forschern entdeckt wurde Erster Beitrag Form Bachelier 1900 und der letzte von Thorp 1969, also deshalb denken wir, dass es die Bachelier-Thorp-Formel heißen sollte. In der Praxis können Sie das Risiko mit diskreter Delta-Hedging (schon lange vor Black-Scholes und Merton) beseitigen, aber Sie können nicht genügend Risiko für die risikoneutrale Bewertung (und das ist das Hauptargument von Black-Scholes-Merton). Siehe Kapitel 2 in meinem Buch Derivatives Modelle auf Models für eine ausführliche Diskussion über die Absicherung von Optionen in der Praxis. Sie kennen natürlich die so genannte "Vier-Scholes-Mertonquot-Optionsformel", die eigentlich nicht die Black-Scholes-Merton-Formel ist (BSM war ein theoretisches Hedging-Argument im Zusammenhang mit einer risikoneutralen Bewertung), aber in wie vielen Sprachen wie ich denke ich Sie sprechen Norwegisch, Französisch, Russisch, Englisch, Schwedisch und Dänisch, aber was ist mit wirklich interessanten Sprachen wie (jetzt in mehr als 30 Sprachen): Objective-CiPhone, F, Autoit, Festung, Lua, APL, SAS, Mathcad, J, MEL, Postscrip t, VB, Sauber, Ruby, Lisp, Prolog, PLSQL, LyME, ColdFusion, K, C, HP48, Transact SQL, OCaml, Rebol, Real Basic, Icon, Quietschen, Haskell, JAVA. JavaScript, VBA, C, Perl, Ahorn, Mathematica, Matlab, S-Plus, IDL, Pascal, Python, Fortran, Scheme, PHP, GNU, Gnuplot. Wenn du Black-Scholes in einer anderen Sprache implementiert hast, würde ich gerne eine Kopie deines Quellcodes bekommen, um es auf diese Seite zu setzen (in diesem Fall versuchen, die gleichen Symbole und das Setup wie unten zu verwenden) In den verschiedenen Implementierungen unten haben wir Wird die Symbole verwenden: Black-Scholes Direkt in einem Excel-Blatt (quotkeep it simple stupidquot) Wenn Sie Angst haben, Sprachen zu programmieren, können Sie mit Black-Scholes direkt in einem Excel-Blatt beginnen, geben Sie einfach ein, was Sie unten sehen. Wenn du die norwegische oder französische Version von Excel benutzt hast, musst du selbst eine Übersetzung machen: Bist du zu faul, um zu schreiben, was du oben sieht Okay download mich hier Black-Scholes in Visual Basic von Espen Gaarder Haug Visual Basic: einfach zu programmieren Aber ganz langsam Das Schwarze und Scholes (1973) Aktienoptionsformel Öffentliche Funktion BlackScholes (CallPutFlag als String. S als Double. X als Double. T als Double. R als Double. V als Double) als Double Dim d1 als Double. D2 Als doppelter d1 (log (SX) (rv 2 2) T) (v Sqr (T)) d2 d1 - v Sqr (T) Wenn CallPutFlag quotcquot Dann BlackScholes S CND (d1) - X Exp (-r T) CND (D2) ElseIf CallPutFlag quotpquot Dann BlackScholes X Exp (-r T) CND (-d2) - S CND (-d1) End If End Function Die kumulative Normalverteilungsfunktion Public Function CND (X als Double) als Double Dim L als Double . K als Double Const a1 0,31938153: Const a2 -0.356563782: Const a3 1.781477937: Const a4 -1.821255978: Const a5 1.330274429 L Abs (X) K 1 (1 0,2316419 L) CND 1 - 1 Sqr (2 Application. Pi ()) Exp (-L 2 2) (a1 K a2 K 2 a3 K 3 a4 K 4 a5 K 5) Wenn X lt 0 Dann CND 1 - CND End If End Funktion Von Espen Gaarder Haug C: etwas härter als die meisten anderen Sprachen aber sehr Schnell und kraftvoll Nach meiner Meinung die Rolls Royce Computersprache für mathematische Modelle, wo man Geschwindigkeit braucht (für geschlossene Formlösungen wie Blacks-Scholes geht man natürlich in fast jeder Sprache gut, aber wenn es um große Skalen geht, ist Monte Carlo C wirklich ein Plus). Ifndef Pi definieren Pi 3.141592653589793238462643 endif The Black and Scholes (1973) Stock Option Formel double BlackScholes (char CallPutFlag, Doppel S, Doppel X, Double T, Double R, Double V) Double D1, d2 if (CallPutFlag c) Rückkehr S CND ( D1) - X exp (-rT) CND (d2) else if (CallPutFlag p) return X exp (-r T) CND (-d2) - S CND (-d1) Die kumulative Normalverteilungsfunktion double CND (double X) Doppel-Konstanten a1 0,31938153, a2 -0.356563782, a3 1.781477937 Doppelkonstante a4 -1.821255978, a5 1.330274429 L Fabs (X) K 1.0 (1.0 0.2316419 L) w 1.0 - 1.0 sqrt (2 Pi) exp (-LL 2) (a1 K a2 KK a3 pow (K, 3) a4 pow (K, 4) a5 pow (K, 5)) Black-Scholes in JAVA Von Espen Gaarder Haug Einfach zu programmieren, können verwendet werden, um JAVA-Applets oder große Standalone-Systeme zu bauen. Viel schneller als Java Script und VBA aber immer noch langsamer als CC The Black und Scholes (1973) Aktienoption Formel Public Double BlackScholes (Char CallPutFlag, Double S, Double X, Double T, Double R, Double V) Double D1, D2 Die Kumulative Normale Verteilungsfunktion öffentliches Doppel-CND (doppeltes X) doppeltes L, K, w doppeltes a1 0.31938153, a2 -0.356563782, a3 1.781477937, a4 -1.821255978, a5 1.330274429 L Math. abs (X) K 1.0 (1.0 0.2316419 L) w 1.0 - (K, 4) a5 Math. pow (K, 4) a5 Math. pow (K, 4) a5 Math. pow (K, 4) a5 Math. pow (K, ) Black-Scholes JAVA Applet Check auch aus Wenhua Wang hervorragende Java Option Pricer von erster Ausgabe meines Buches Black-Scholes in Java Script Von Espen Gaarder Haug (Dank an Kurt Hess an der University of Waikato für die Suche nach einem Bug in meinem Code) Einfach zu Programm, kann direkt im Web verwendet werden, aber ganz langsam Die Black and Scholes (1973) Stock Option Formel Funktion BlackScholes (PutCallFlag, S, X, T, R, V) var d1, d2 d1 (Math. log (SX) (D2) - X Math. tp (T) Wenn (PutCallFlag quotcquot) S folgt CND (d1) - X Math. exp (-r T) CND (d2) (X) - CN2 (-d2) - S CND (-d1) Die cummulative Normalverteilungsfunktion: var a1, a2, a3, a4, a5, k a1 0.31938153, a2 -0.356563782, a3 1.781477937 , A4 -1.821255978. A5 1.330274429 if (xlt0.0) return 1-CND (-x) else k 1.0 (1.0 0.2316419 x) return 1.0 - Math. exp (-xx 2.0) Math. sqrt (2Math. PI) k (a1 k (-0.356563782) K (1.781477937 k (-1.821255978 k 1.330274429)))) Von Jerome V. Braun Perl ist die Questscharakteristik von Sprachen, die natürlich auch für Black-Scholes verwendet werden können: Routine zur Umsetzung der Black-and-Scholes (1973) Optionspreisformel . Verwendungspreis GBlackScholes (callputflag, S, X, T, r, b, v) Hier ist Cltcallputflaggt entweder c oder p für einen Anruf oder platziert, sub BlackScholes my (callputflag, S, X, T, r, v) Hilfswerte my d1 (log (SX) (rv22) T) (v T0.5) my d2 d1 - v T0.5 Ungefähr die kumulative Normalverteilung. Das heißt, der Wert des Integrals der Standard-Normaldichte von minus unendlich bis Cltxgt. Sub CND meine x Verschiebung der Perzentil unter Berücksichtigung meiner Pi 3.141592653589793238 Taylor Serie Koeffizienten my (a1, a2, a3, a4, a5) (0.319381530, -0.356563782, 1.781477937, -1.821255978, 1.330274429) Symmetrie verwenden, um die Berechnung rechts von 0 mein L abs (x) mein k 1 (1 0.2316419L) dann den entsprechenden Wert zurückgeben (x gt 0). CND 1-CND Black-Scholes in Maple Von Espen Gaarder Haug Einfach zu programmieren, schön zum Testen und Verstehen von Optionsmodellen, aber ganz langsam. Gt mit (stats) anova, beschreiben, passen, importdata, zufall, statevalf, statplots, transform Die cummulative Normalverteilungsfunktion: gt CND: proc (d) gt statevalfcdf, normald (d) gt Ende: Die Balck-Scholes (1973) Aktienoption Formel. Gt BlackScholesCall: Proc (S, X, T, R, V) gt lokal d1, d2 gt d1: (ln (SX) (rv22) T) (vsqrt (T)) gt d2: d1-vsqrt (T) gt SCND (D1) - Xexp (-rT) CND (d2) gt Ende: Die Balck-Scholes (1973) Aktie setzen Option Formel. Gt BlackScholesPut: Proc (S, X, T, R, V) gt lokal d1, d2 gt d1: (ln (SX) (rv22) T) (vsqrt (T)) gt d2: d1-vsqrt (T) gt Xexp (-d2) - SCND (-d1) gt Ende: Von Espen Gaarder Haug Einfach zu programmieren, schön zum Testen und Verstehen von Optionsmodellen. Mathematica 3.0 war ziemlich langsam, aber Mathematica 4.0 ist ziemlich schnell (Mathematica 4.0 auf einem 266MHz Power Mac G3 schlug MATLAB 5.2 auf einem 300MHz Pentium II System mit einem durchschnittlichen Faktor von 4.3 MacWorld 10-99). Was wird dann passieren, wenn du Mathematica 4.0 auf einen Mac G4 steckst, oh mein Gott. (Dank Wolfram und Steve Jobs lebenswert lebenswert). Die kumulative Normalverteilungsfunktion: Die Balck-Scholes (1973) Aktienoptionsformel: Von Espen Gaarder Haug Wenn Sie einen Hintergrund von Engineering haben, kennen Sie wahrscheinlich Matlab. Einfach zu programmieren, schön für Proto-Modellierung, ganz schnell aber trotzdem langsam im Vergleich zu JAVA und CC. (Der untenstehende Code sollte als Matlab M-Datei gespeichert werden): Black und Scholes in Matlab Black-Scholes in S-PLUS Von Trygve Nilsen, Universität Bergen Norwegen und Gene D. Felber, Talus Solutions Inc S-Plus ist das Lieblings-Tool Für viele Leute, die mit mathematischen Statistiken arbeiten. S-Plus ist auch ein großartiges Werkzeug für die Modellierung von Finanzderivaten. Der untenstehende Code läuft auch unter der freien Software R. (S, X, t, r, v) d1 lt - (log (SX) (r0.5v2) t) (vsqrt (t)) d2 lt-d1-vsqrt (t) Spnorm (d1 ) - Xexp (-rt) pnorm (d2) Wichtig: S-PLUS verfügt über eingebaute interne Funktionen für quotTquot und quotcallquot. Die Zuordnung eines Wertes zu diesen in einer Funktion erzeugt einen Konflikt und die Formel wird einen falschen Wert zurückgeben. Von Goran Gasparovic, der Johns Hopkins Universität. Baltimore, Maryland (U. S.A.) IDL die interaktive Datendokumentation (erhältlich von rsinc. Sehr teuer aber nützliche Software). Black-Scholes in Icon Von Squeak2.8 vom 13. Juni 2000 Letztes Update: 2359 am 10. Juni 2001 um 7:40:05 Uhr Objektunterklasse: BlackScholes instanceVariableNames: classVariableNames: poolDictionaries: category: Nicht klassifiziert BlackScholes class instanceVariableNames: BlackScholes class methodsFor: computing Stempel: WRT 6102001 19:39 isCall: isCall S: s X: x T: tr: rv: v quotexample Verwendung: BlackScholes isCall: true S: 27.9 X: 30 T: 6.0 365 r: 1.05333 v: 0.75 quot d1 d2 d1 : Vv 2,0 rt (sx) ln (vt sqrt). D2: d1 - (v t sqrt). IsCall ifTrue: s (Selbst CND: d1) - (x (r negiert t) exp (Selbst CND: d2)) ifFalse: x (r negiert t) (Selbst CND: d2 negiert) - (s (Selbst CND: d1 negiert )). BlackScholes KlassenmethodenFür: Privatstempel: WRT 6102001 16:53 CND: x l k a w a: (0.31938153 -0.356563782 1.781477937 -1.821255978 1.330274429). L: x abs. K: 1,0 (0,2316419 l & sub1;). W: 1,0 - (1,0 (2 Float pi) sqrt (l negiert l 2) exp ((1 bis: 5) injizieren: 0 in:: Summe: jeder (a bei: jeder) (k erhöhtToInteger: jede) Summe)) . X negativ ifTrue: 1 - w ifFalse: w. Von Espen Gaarder Haug Sehr einfach zu programmieren, mit einem Knopfdruck kann der Code auf Pc oder Mac kompiliert werden. Alles sieht natürlich hässlich auf einem PC aus (auch die Maschine), das Ergebnis auf einem Mac Carbon X ist einfach erstaunlich schnell und fancy Noch besser können Sie Ihren VBA Code einfach in eine blasenschnelle und fancy Applikation stecken. Einfache Beispiel: Black-Scholes in Carbon (Für Mac X Freeks nur) Hier herunterladen Laut George F. Colony, Eine weitere Software-Technologie wird kommen und töten das Web, so wie Web getötet News, Gopher, et al. Und dieser Tag des Gerichts wird sehr bald eintreffen - in den nächsten zwei bis drei Jahren, nicht 25 Jahre ab jetzt. Was wird es ersetzen X Internet. Sorgen Sie sich nicht, wir geben Ihnen einige Black-Scholes REBOL-Code, so können Sie überleben Tag Tag. REBOL ist eine interessante und ausdrucksstarke Programmiersprache, die sich gut für den Internet - und Cross-Plattform-Einsatz eignet. REBOL Home Distributed Network Anwendungen für das X Internet. Es gibt viel mehr Informationen über die Sprache auf ihrer Website (rebol. Die gesamte REBOL-Laufzeit (einschließlich des Grafikpakets) passt auf eine Diskette (holt sie von reboldownload. html) ein a1 a2 a3 a4 a5 0.2316419 0.31938153 ( (A & sub3; (K & sub3;)) (a & sub4; (K & sub3;)) (a & sub4; (K & sub4;)) (a & sub5; (K & sub5;)) w: 1 - ((w & sub1; Quadrat-Wurzel (2 pi)) exp (- (LL) 2)) Wenn negativ x Rückkehr 1 - w Rückkehr w schwarz-scholes: func s Geld Quotuale Aktienkursquote x Geldquantik Preisquot t Anzahl Quoten bis Fälligkeit r Rufnummer Quotenfreies Interesse (V (v) 2)) (v (v 2) 2)) T)) (v quadratische Wurzel t) d2: d1 (v) (n) ((X exp (- rt)) cum-normal-dist d2) ((x exp (- rt)) cum-normal-dist d1) - ((x exp (- rt) Normal-dist negate d2) - (s cum-normal-dist-d1) Hier ist die Implementierung von Black-Scholes in OCaml Sprache. Das ist eine sehr starke und extrem schnelle Sprache. Es ist eine Programmierer Traumsprache Danke für die Bereitstellung all dieser Black Schole Berechnungen in verschiedenen Sprachen. Sehr nützlich war ich in SQL gebraucht, also habe ich eines deiner Beispiele benutzt und es in Transact SQL umgewandelt. Bevor ich ein Finanzingenieur wurde, war ich ein echter Ingenieur, also habe ich natürlich BS auf meinem Rechner implementiert, mit der Reverse-Polish-Notation (aka RPN). Ltlt - gt SX rv T ltlt SX LN rv SQ 2 T v T SQRT DUP v T SQRT - - gt d1 d2 ltlt S 1 0 1 d1 UTPN - X r T NEG EXP 1 0 1 d2 UTPN - - quotCquot - gtTAG X r T NEG EXP 1 0 1 d2 NEG UTPN - S 1 0 1 d1 NEG UTPN - - quotPquot - gtTAG gtgt gtgt Anmerkung: quotSQRTquot ist ein einzelnes Zeichen, das das quotsquarewurzel symbolquot decltltquot, quotgtgtquot und quot-gtquot sind alle Einzelsymbole Es berechnet beide Rufen Sie an und setzen Sie Werte, hinterlassen markierte Namen auf dem Stapel. Ltcfscriptgt-Funktion BlackScholes (n), d, d, d, d, v, v) var d1 (log (SX) (r (v2) 2) T) (v (T0.5)) var d2 d1 - v (T0.5) (X) CND (-d2) - CND (-d1) - CND (-d1) - CND (x) Die kumulative Normalverteilungsfunktion var Pi 3.141592653589793238 var a1 0.31938153 var a2 -0.356563782 var a3 1.781477937 var a4 -1.821255978 var a5 1.330274429 var L abs (x) var k 1 (1 0,2316419 L) var p 1 - 1 ((2 Pi) 0,5 (K2) a4 (k5) a5 (k5) a4 (k5) a5 (k5) a4 (k5) a5 (k5) a4 (k5) a5 (k5) a4 (k5) a5 (k5) X50.00gt ltCFSET T0.1gt ltCFSET r0.35gt ltCFSET v0.30gt ltcfoutputgt BlackScholes (CallPutFlag, S, X, T, r, v) ltcfoutputgt Black-Scholes in LyME Von Donsyah Yudistira Ich selbst bin ein großer Fan von Black Scholes Option Preisgestaltung Formel. Die Schönheit der Ableitung hat viele Menschen, einschließlich Sie und mich, ermutigt, es in ein paar Sprachen zu schreiben, wie auf Ihrer Seite zu sehen. Vor ein paar Wochen hat mir meine schöne Frau einen Sony Clie PDA gekauft. Nicht lange danach habe ich das Netz durchsucht, um nach der besten Anwendung zu suchen, um die Black Scholes Option zu berechnen. Ich habe mich in LyME von Calerga (Calerga) bestiegen. LyME ist ein Hafen von LME (quotLightweight Math Enginequot, das Herz von SysQuake) zu Palm OS Handheld-Geräten. Diese Freeware-Software erstaunt mich sehr, wie es so mächtig ist wie Mathematica, Matlab, Maple und andere mathematische Software und das Beste ist, dass man es überall in einem kompakten Gerät bringen kann. Ohne weiteres ist hier ein kleines Skript in LyME für European Black Scholes Option: Funktion mbs (cp, s, x, t, r, v) d1 (log (sx) (rvv2) t) (vsqrt (t)) d2d1 - vsqrt (t) wenn cpc mscdf (normal, d1) - xexp (-rt) cdf (normal, d2) elseif cpp mxexp (-rt) cdf (normal, - d2) - scdf (normal, - d1) Scholes in PLSQL Von Fernardo Casteras, Bunos Aires, Argentinien Elektrotechniker Fernardo Casteras gibt uns die Black-Scholes Formel in PLSQL geschrieben. PLSQL ist die Programmiersprache, die verwendet wurde, um gespeicherte Prozeduren in ORACLE relationalen Datenbanken und Front-End-Tools zu schreiben, eine weit verbreitete Umgebung in Unternehmen. SCHREIBEN ODER ERSETZEN FUNKTION BLACKSCHOLES (CALLPUTFLAG IN VARCHAR2, S IN NUMMER, X IN NUMBER, T IN NUMBER, R IN NUMMER, V IN NUMMER) RETURN NUMBER IS - D1 NUMMER D2 NUMMER PI NUMBER: 3.141592653589793238462643 ERGEBNISNUMMER - FUNKTION CND ( X NUMBER) RÜCKGABE NUMMER IST - L NUMMER K NUMMER A1 NUMMER: 0.31938153 A2 NUMBER: -0.356563782 A3 NUMBER: 1.781477937 A4 NUMBER: -1.821255978 A5 NUMBER: 1.330274429 ERGEBNISNUMMER - BEGIN - L: ABS (X) K: 1 (1, 2) A3 POWER (K, 3) A3 POWER (K, 3) A3 POWER (K, 3) A3 POWER (K, 3) A3 POWER (K, 3) A3 POWER (K, 3) A3 POWER (K, A5 POWER (K, 5)) IF (X lt 0) DANN ERGEBNIS: (1 - ERGEBNIS) END IF - RETURN ERGEBNIS - END CND - BEGINN - ERGEBNIS: 0 D1: (LN (SX) (R POWER (V, 2) 2) T) (V SQRT (T)) D2: D1 - V SQRT (T) IF (CALLPUTFLAG C) DANN ERGEBNIS: S CND (D1) - X EXP (-RT) CND (D2) ELSIF (CYPUTFLAG P) DANN ERGEBNIS: X EXP (-RT) CND (-D2) - S CND (-D1) END IF - RETURN ERGEBNIS - END Black-Scholes in Prolog Von Lou Odette, MA USA habe ich es in Arity getestet Prolog, aber es sollte in jedem Standard-Prolog arbeiten. D1 ist (ln (SX) (RVV2) T) (Vsqrt (T)), D2 ist D1 - (Vsqrt (T)), Cumulativormal (D1, CND1), cumulativormal (D2, CND2), Preis ist SCND1 - Xexp (-RT) CND2. D1 ist (LX) (RVV2) T) Vsqrt (T), D2 ist D1 - Vsqrt (T), cumulativormal (-D1 , CND1), cumulativormal (-D2, CND2), Preis ist Xexp (-RT) CND2 - SCND1. Kumulative Normalverteilung cumulativormal (X, CND): - X lt 0, A1 ist 0,31938153, A2 ist -0,356563782, A3 ist 1.781477937, A4 ist -1.821255978, A5 ist 1.330274429, L ist abs (X), K ist 1,0 (1,0 ( 0,316419 L)), CND ist (1,0 sqrt (2pi)) exp (-LL2) (A1K A2KK A3 (K3) A4 (K4) A5 (K5)). Cumulativormal (X, CND): - A1 ist 0,31938153, A2 ist -0.356563782, A3 ist 1.781477937, A4 ist -1.821255978, A5 ist 1.330274429, L ist abs (X), K ist 1,0 (1,0 (0,2316419 L)), CND ist 1,0 - (1,0 (sqrt (2pi)) exp (-LL2) (A1K A2KK A3 (K3) A4 (K4) A5 (K5))). Black-Scholes in LISP Von Robert Brown habe ich mit deiner C-Version begonnen. Sobald mein Lisp-Code die gleiche Ausgabe produzierte, fügte ich einige Typendeklarationen hinzu und tat einige Geschwindigkeitstests. Mein Benchmark berechnet BlackScholes (p, 100.0, 110.0, 10.0, 0.10. 07) eine Million Mal. Hier sind meine Timing-Ergebnisse. Ich habe die C-Version mit quotgcc - O2quot und der Lisp-Version für maximale Geschwindigkeit kompiliert - keine Typprüfung zur Laufzeit. C Version: 1.69 Sekunden Lisp Version: 1.12 Sekunden Wie Sie sehen können, ist Common Lisp mit C und OCaml in Bezug auf die Ausführungsgeschwindigkeit konkurrenzfähig. Der Common Lisp Code ist unten beigefügt. (declaim (optimize (debug 0) (safety 0) (speed 3))) (defmacro poly-eval (x coeffs) quotFor COEFFS list (a0 a1 a2. ) produce an expression that evaluates the polynomial a0 a1x a2x2 . quot (if (endp (rest coeffs)) (first coeffs) ( (,x (poly-eval, x ,(rest coeffs))) ,(first coeffs)))) (deftype probability () (double-float 0.0d0 1.0d0)) (deftype nonnegative-double-float () (double-float 0.0d0.most-positive-double-float)) (declaim (ftype (function (double-float) probability) cnd)) (defun cnd (x) (declare (type double-float x)) (let ((l (abs x)) (k ( ( 1.0d0 ( 0.2316419d0 l)))) (w (- 1.0d0 ( ( (sqrt ( 2.0d0 pi))) (exp ( ( (- l) l) 2.0d0)) (poly-eval k (0.0d0 0.31938153d0 -0.356563782d0 1.781477937d0 -1.821255978d0 1.330274429d0)))))) (declare (type double-float l k w)) (if (lt x 0.0d0) (- 1.0d0 w) w))) (defun black-scholes (callput price strike time r vol) (declare (type nonnegative-double-float price strike time r vol)) (let ((d1 ( ( (log ( price strike)) ( ( r ( ( vol vol) 2.0d0)) time)) ( vol (sqrt time)))) (d2 (- d1 ( vol (sqrt time))))) (declare (type double-float d1 d2)) (ecase callput (:call (- ( price (cnd d1)) ( strike (exp (- ( r time))) (cnd d2)))) (:put (- ( strike (exp (- ( r time))) (cnd (- d2))) ( price (cnd (- d1)))))))) Black-Scholes in Ruby gt by Michael Neumann, Germany one-to-one translation from Python example Cumulative normal distribution def cnd(x) a1, a2, a3, a4, a5 0.31938153, -0.356563782, 1.781477937, -1.821255978, 1.330274429 l x. abs k 1.0 (1.0 0.2316419 l) w 1.0 - 1.0 Math. sqrt(2Math::PI)Math. exp(-ll2.0) (a1k a2kk a3(k3) a4(k4) a5(k5)) w 1.0 - w if x lt 0 return w end def BlackScholes(callPutFlag, s, x, t, r, v) d1 (Math. log(sx)(rvv2.0)t)(vMath. sqrt(t)) d2 d1-vMath. sqrt(t) if callPutFlag c scnd(d1)-xMath. exp(-rt)cnd(d2) else xMath. exp(-rt)cnd(-d2)-scnd(-d1) end end Black-Scholes in Clean module BlackScholes import StdReal clean Pure functional language, performance similar to C Start blackscholes Put 100.0 95.0 7.0 0.05 0.47 . Option Call Put The Black and Scholes (1973) Stock option formula blackscholes o s x t r v optionvalue o where optionvalue Call s n(d1) - x exp( rt) n(d2) optionvalue Put x exp( d1) d1 (ln(sx) (rvv2.0)t)(v sqrt t) d2 d1 - v sqrt t The cumulative normal distribution function n x x lt 0.0 1.0 - w otherwise w where w 1.0 - 1.0 sqrt(2.0Pi) exp( ll2.0) poly k 1.0 (1.0 0.2316419 l) l abs x poly A1k A2kk A3 k3.0 A4 k4.0 A5 k5.0 Pi : 3.141592653589793238462643 A1 : 0.31938153 A2 : -0.356563782 A3 : 1.781477937 A4 : -1.821255978 A5 : 1.330274429 Black-Scholes in VB By Marco Sturlese, The Black and Scholes (1973) Stock option formula Public Function BlackScholes(ByVal CallPutFlag As String, ByVal S As Double, ByVal X As Double, ByVal T As Double, ByVal r As Double, ByVal v As Double) As Double Dim d1 As Double, d2 As Double d1 (Math. Log(S X) (r v 2 2) T) (v Math. Sqrt(T)) d2 d1 - v Math. Sqrt(T) If CallPutFlag quotcquot Then BlackScholes S CND(d1) - X Math. Exp(-r T) CND(d2) ElseIf CallPutFlag quotpquot Then BlackScholes X Math. Exp(-r T) CND(-d2) - S CND(-d1) The cumulative normal distribution function Public Function CND(ByVal X As Double) As Double Dim L As Double, K As Double Const a1 0.31938153. Const a2 -0.356563782. Const a3 1.781477937 Const a4 -1.821255978. Const a5 1.330274429 K 1 (1 0.2316419 L) CND 1 - 1 Math. Sqrt(2 Math. PI) Math. Exp(-L 2 2) (a1 K a2 K 2 a3 K 3 a4 K 4 a5 K 5) Black-Scholes in Postscript Language By Dr. Jose Gomes, Black-Scholes formula in Postscript. Started from code at espenhaugblackscholes. html E 2.718281828459045 def PI 3.141592653589793238462643 def The cumulative normal distribution function CND CNDX exch def CNDa1 0.31938153 def CNDa2 -0.356563782 def CNDa3 1.781477937 def CNDa4 -1.821255978 def CNDa5 1.330274429 def CNDL CNDX abs def CNDK 0.2316419 CNDL mul 1 add 1 exch div def CNDK 5 exp CNDa5 mul CNDK 4 exp CNDa4 mul add CNDK 3 exp CNDa3 mul add CNDa2 CNDK CNDK mul mul add CNDa1 CNDK mul add E 0 CNDL sub CNDL mul 2 div exp mul 0 1 sub 2 PI mul sqrt div mul CNDX 0 lt if def The Black and Scholes (1973) Stock option formula BlackScholes v exch def r exch def T exch def X exch def S exch def CallPutFlag exch def d1 v v mul 2 div r add T mul S X div ln add T sqrt v mul div def d2 d1 T sqrt v mul sub def (c) CallPutFlag eq d1 CND S mul d2 CND E 0 r sub T mul exp mul X mul sub if (p) CallPutFlag eq 0 d2 sub CND E 0 r sub T mul exp mul X mul 0 d1 sub CND S mul sub if def S 60 def X 65 def T 0.25 def r 0.08 def v 0.30 def call (c) S X T r v BlackScholes def put (p) S X T r v BlackScholes def Fixed findfont 20 scalefont setfont newpath 100 220 moveto ( S) show S 100 string cvs show 100 200 moveto ( X) show X 100 string cvs show 100 180 moveto ( T) show T 100 string cvs show 100 160 moveto ( r) show r 100 mul 100 string cvs show () show 100 140 moveto ( v) show v 100 mul 100 string cvs show () show 100 120 moveto (call) show call 100 string cvs show 100 100 moveto (put ) show put 100 string cvs show Black-Scholes in MEL By James D. Polk, MEL Mayas Embedded Language. Maya is a 3D animation program used in animated feature films and special effects. quotDinosaurquot, etc. And now also for options global float PI PI 3.141592653589793238462643 global proc float BlackScholes(string CallPutFlag, float S, float X, float T, float r, float v) float d1, d2 float val if(CallPutFlag quotcallquot) val S CumNormDist(d1) - X exp(-r T) CumNormDist(d2) return(val) else if(CallPutFlag quotputquot) val X exp(-r T) CumNormDist(-d2) - S CumNormDist(-d1) return(val) global proc float CumNormDist( float X ) global float PI float L, K, w float a1 0.31938153, a2 -0.356563782, a3 1.781477937 float a4 -1.821255978, a5 1.330274429 L abs(X) K 1.0 (1.0 0.2316419 L) w 1.0 - 1.0 sqrt(2 PI) exp(-L L 2) (a1 K a2 K K a3 pow(K,3) a4 pow(K,4) a5 pow(K,5)) if(X lt 0 ) w 1.0 - w Black-Scholes on TI-89 calculator By Warren Severin, 1) This has been developed on a TI-89 calculator. It should work on many TI-8x models with minor tweaking. 2) This program assumes that the TI statistics and list editor application is installed, which should apply to most people. If you dont have it, download it from education. ti . Black-Scholes in J By Eugene McDonell, I wrote an article on Black-Scholes for the British publication Vector, 19.3, January 2003. I have a regular column there called quotAt Play With Jquot, that deals in things having to do with J, a language developed by the late Ken Iverson and Roger Hui, as a successor to Kens APL. My article is online at : Here is a way to implement it in J: BS is used for either call or put. A call uses a positive v, and a put uses a negative v. I learned this device from Arthur Whitney, but I could have learned it from Espen Haug: see his Wilmott paper quotA Look in the Antimatter Mirrorquot for a discussion of the useful symmetries of put and call that permit this. The phrase (,-) uses a J feature that generalizes the customary mathematical notation (fg) x, meaning (f(x))(g(x)). Thus r (,-) hlf sqr v gives a two-element vector: (rhlf sqr v),(r-hlf sqr v). This allows the two items d1 and d2 to be replaced by the two-element list d. The function diff is used to subtract the second item from the first. The erf and cnd functions appear in Abramowitz and Stegun quotHandbook of Mathematical Functionsquot in the sections shown, and were written in J by Ewart Shaw (J. E.H. Shaw Ewart Shaw Department of Statistics, University of Warwick erf : monad define NB. AampS 7.1.21 (rightmost) ((2 y.) dv (sqrt pi)) (exp - y. 2) (1 H. 1.5) y. 2 ) This erf uses Js hypergeometric function, symbolized by quot H. quot, and thus doesnt need a list of coefficients. cnd : monad define NB. AampS 26.2.29 (solved for P) (1 erf y. sqrt 0.5) dv 2 ) J uses symbols for many functions, instead of names. These are the names and the equivalent J symbols of the ones used above: diff : - NB. difference diff 39 13 is 26 dv : NB. divided by 39 dv 3 is 13 exp : NB. exponential exp 1 is 2.71828 hlf : -: NB. half hlf 39 is 19.5 ln : . NB. natural logarithm ln 2.71828 is 0.999999 pi : 1p1 NB. pi pi is 3.14159 sqr : : NB. square sqr 13 is 169 sqrt : : NB. square root sqrt 169 is 13 Here are examples of put and call uses of BS: yc NB. call argument 60 65 0.25 0.08 0.3 yp NB. put argument 60 65 0.25 0.08 0.3 BS yc NB. call result 2.13337 BS yp NB. put result 5.84628 Black-Scholes in Mathcad v11 By Stuart Bruff, Its written in Mathcad v11 (although it should work in v6 to v13). There is real equivalent of a text source code, as you just type the equations in, using a palette for such things as the square root operator (although there are keyboard shortcuts for most common operators, such as integrals and derivatives). See also mathcad Black-Scholes in SAS By Fabrice Douglas Rouah, For SAS Release 6.12 or higher data BS input S X r v T d1 (log(SX) (rv22)T)vsqrt(T) d2 d1 - vsqrt(T) C Scdf(Normal, d1) - Xexp(-rT)cdf(Normal, d2) P Xexp(-rT)cdf(Normal,-d2) - Scdf(Normal,-d1) label S Spot Price X Strike Price r Risk Free Rate v Volatility T Time Periods C BS Call Price P BS Put Price Input as many input values as needed cards 120 95 0.08 0.2 3 120 100 0.08 0.2 3 120 110 0.08 0.2 3 120 120 0.08 0.2 3 proc print label var S X r v T C P run Black-Scholes in APL By Nick Lobachevsky, APL has the undeserved reputation of being unreadable code. Usually, it has a lot more to do with the program author than the language itself. The code is written in a quotdyalectquot called Dyalog APL. dyalog Black-Scholes in Lua By Thomas Munro, -- quotLua is a powerful light-weight programming language designed for -- extending applications. Lua is also frequently used as a general-purpose, -- stand-alone language. Lua is free software. quot - from lua. org -- -- Black-Scholes option formula put into Lua by Thomas Munro, London, 2007. -- Cumulative normal distribution. function cnd(x) -- taylor series coefficients local a1, a2, a3, a4, a5 0.31938153, -0.356563782, 1.781477937, -1.821255978, 1.330274429 local l math. abs(x) local k 1.0 (1.0 0.2316419 l) local w 1.0 - 1.0 math. sqrt(2 math. pi) math. exp(-l l 2) (a1 k a2 k k a3 math. pow(k, 3) a4 math. pow(k, 4) a5 math. pow(k, 5)) if x lt 0 then w 1.0 - w end return w end -- The Black-Scholes option valuation function (1973). -- iscall: true for call, false for put -- s: current price -- x: strike price -- t: time -- r: interest rate -- v: volatility function blackscholes(iscall, s, x, t, r, v) local d1 (math. log(s x) (r v v 2.0) t) (v math. sqrt(t)) local d2 d1 - v math. sqrt(t) if iscall then return s cnd(d1) - x math. exp(-r t) cnd(d2) else return x math. exp(-r t) cnd(-d2) - s cnd(-d1) end end Black-Scholes in Fortress By Thomas Munro ( The Black-Scholes formula expressed in the unfinished language Fortress. Thomas Munro, London 2007. From Wikipedia: Fortress quotis intended to be a successor to Fortran, with improvements including Unicode support and concrete syntax that is similar to mathematical notation. The language is not designed to be similar to Fortran. Syntactically, it most resembles Scala, Standard ML, and Haskell. quot ) Black-Scholes in AutoIt By Russell Lazarus AutoIt is a freeware Windows automation language which is particularly adept at manipulation of GUI windows and controls. AutoIt scripts can be compiled with a run-time interpreter that allows users to run on most Windows platforms without requiring software installation. For more information, visit the AutoIt web sit at: autoitscript . BlackScholes stock option function Func BlackScholes() Local CallPutFlag, S, w, T, r, v, d1 (Log(S w) (r v 2 2) T) (v Sqrt(T)), d2 d1 - v Sqrt(T) If CallPutFlag quotcquot Then Local callval (S CND(d1) - w Exp(-r T) CND(d2)) ElseIf CallPutFlag quotpquot Then Local putval (w Exp(-r T) CND(-d2) - S CND(-d1)) EndIf EndFunc gtBlackScholes The cumulative normal distribution function Func CND(w) Const a1 0.31938153, a2 -0.356563782, a3 1.781477937, a4 -1.821255978, a5 1.330274429, Pi 3.14159265 w1 w L Abs(w) K 1 (1 0.2316419 L) w 1 - 1 Sqrt(2 Pi) Exp(-L L 2) (a1 K a2 K 2 a3 K 3 a4 K 4 a5 K 5) If w1 lt 0 Then w 1 - w EndIf Return w Black-Scholes in GNU By Dave Prashant Prashant Dave Ph. D. prashant dot dave at alumni dot purdue dot edu Black Scholes Option Pricing Formula Written in bc. Details on bc are available at gnu. orgsoftwarebc This code is based on the C code written by Dr. Espen Gaarder Haug Usage: bc - l lt bsbc. txt define cnd (x) a1 0.31938153 a2 -0.356563782 a3 1.781477937 a4 -1.821255978 a5 1.330274429 if (x gt 0 ) l x else l - x k 1.0 (1.0 0.2316419 l) pi 4a(1) w 1.0 - 1.0 sqrt(2 pi) e(-l l 2) (a1 k a2 k k a3 (k3) a4 (k4) a5 (k5)) if (x lt 0 ) w 1.0 - w return w define blackscholes (f, s, x, t, r, v) d1(l(sx)(rvv2)t)(vsqrt(t)) d2d1-vsqrt(t) if (f 0) return s cnd(d1)-x e(-rt)cnd(d2) else return x e(-r t) cnd(-d2) - s cnd(-d1) First argument is 0 for call and nonzero for put blackscholes(0, 60, 65. 25. 08. 30) Black-Scholes in gnuplot By Dave Prashant Prashant Dave, Ph. D. prashant dot dave at alumni dot purdue dot edu GNUPlot Code Implementation of Black Scholes Usage: gnuplot blackscholes. gnu d1 (S, X, T, r, v) (log(S1.0X1.0)(rvv2.0)T)(vsqrt(T)) d2 (S, X, T, r, v) (log(S1.0X1.0)(r-vv2.0)T)(vsqrt(T)) BlackScholes(CallPutFlag, S, X, T, r, v) (CallPutFlag eq quotcquot). (S norm(d1(S, X,T, r,v))-X exp(-rT)norm(d2(S, X,T, r,v))). (X exp(-r T) norm(-d2(S, X,T, r,v)) - S norm(-d1(S, X,T, r,v))) print BlackScholes(quotcquot, 60, 65, 0.25, 0.08, 0.30) Black-Scholes in F By Michael de la Maza This code was transliterated from the OCAML code located here espenhaugblackscholes. html let pow x n exp (n log(x) ) let cnd x let a1 0.31938153 let a2 -0.356563782 let a3 1.781477937 let a4 -1.821255978 let a5 1.330274429 let pi 4.0 atan 1.0 let l abs(x) let k 1.0 (1.0 0.2316419 l) let w ref (1.0-1.0sqrt(2.0pi)exp(-ll2.0)(a1ka2kka3(pow k 3.0)a4(pow k 4.0)a5(pow k 5.0))) if (x lt 0.0) then w : 1.0 - w w callputflag: c if call option otherwise put option s: stock price x: strike price of option t: time to expiration in years r: risk free interest rate v: volatility let blackscholes callputflag s x t r v let d1(log(s x) (rvv2.0)t)(vsqrt(t)) let d2d1-vsqrt(t) let res ref 0.0 if (callputflag c) then res : scnd(d1)-xexp(-rt)cnd(d2) else res : xexp(-rt)cnd(-d2)-scnd(-d1) res gt blackscholes c 60.0 65.0 0.25 0.08 0.3 val it. float 2.133371862 gt blackscholes p 60.0 65.0 0.25 0.08 0.3 val it. float 5.846285627 Objective-C is the programming language used for iPhones. With this code as inspiration to thet started I hope we will see a lot of great option software fro iPhones. F or a detailed description of the Black-Scholes-Merton formula see: Haug, E. G. (2007): quotDerivatives Models on Models quot Wiley Publishing, see Chapter 2 in particular Black, F. and Scholes, M. (1973): quotThe Pricing of Options and Corporate Liabilities, quot Journal of Political Economy, 81, 637-654 Merton, R. C. (1973): quotTheory of Rational Option Pricing, quot Bell Journal of Economics and Management Science, 4, 141-144 If you hate computers and computer languages dont give up its still hope What about taking Black-Scholes in your head instead If the option is about at-the-money-forward and it is a short time to maturity then you can use the following approximation: call put StockPrice 0.4 volatility Sqrt( Time )The Framework In this three part series, we introduced the Option Greeks in the first post. In the second post, we discussed the practical Application of Option Greeks with respect to options trading. In this concluding post, we will understand the usage of an option calculator. An option calculator is a tool which helps you calculate the Greeks, i. e. the delta, gamma, theta, vega, and rho of an option. Along with the calculation of the option Greeks, the option calculator can also be used to calculate the theoretical price of an option (also called fair value of an options premium) and the implied volatility of the underlying. The option calculator uses a mathematical formula called the Black-Scholes options pricing formula, also popularly called the Black-Scholes Option Pricing Model. This is probably the most revered valuation model in Economics, so much so that its publishers (Robert C. Metron and Myron Scholes) received a Nobel Prize in Economics in 1997. Briefly, the framework for the pricing model works like this: We feed the model with a bunch of inputs Inputs include: Spot price, Interest rate, Dividend, and the number of days to expiry. Along with these mandatory inputs, we also input either the price of the option or the implied volatility of the underlying, but not both . The pricing model churns out the required mathematical calculation and gives a bunch of outputs The output gives us the value of Option Greeks. Along with the Option Greeks, we also get one of the following: The Implied volatility of the underlying, provided one of the input is the option price or The theoretical value of options premium, provided the input is the implied volatility of the underlying The illustration below gives the schema of a typical options calculator: Let us inspect the input side: Spot Price This is the price at which the underlying is trading. Note, we can even replace the spot price by the futures price. We use the futures price when the option contract is based on futures as its underlying. Usually, commodity and in some cases currency options are based on futures. For equity option contacts, always use the spot price. Interest Rate This is the risk-free rate prevailing in the economy. Use the RBI 91 day Treasury bill rate for this purpose. As of September 2014, the prevailing rate is 8.6038 per annum. Dividend This is the dividend expected per share in the stock, provided the stock goes ex-dividend within the expiry period. For example, today is September 11 and you wish to calculate the option Greeks for the ICICI Bank option contract. Assume ICICI Bank is going ex-dividend on September 18 with a dividend of Rs. 4. The expiry for September series is September 25. In this situation you need to give an input of Rs. 4. Number of days to expiry This the number of calendar days left to expiry. Volatility This is where it gets a little confusing, so I suggest you pay extra attention. As mentioned earlier, along with option Greeks you can use the option calculator to calculate either the implied volatility of the underlying or the theoretical option price but not both at the same time If you wish to calculate the theoretical option price as one of the desired outputs, then volatility has to be one of the inputs. For Nifty option contracts, use the India VIX index value. Alternatively, if you have a view on volatility from today to expiry, you can input that as well. You can do the same thing for stocks. Option Price, also called the Actual Market Value If you wish to calculate the implied volatility of the underlying you need to input actual market value data. The actual market data is simply the price at which the option is trading in the market. Once these inputs are fed to Black-Scholes option pricing model, the model churns out the math to give us the required output. The logic on which Black-Scholes model works is quant heavy involving concepts of stochastic calculus. For a quick introduction on the working of a Black-Scholes model, Id encourage you to watch this video . We get the following values on the output side: Along with the Greeks, the output includes either the implied volatility of the underlying or the theoretical option price. Option Calculator on Zerodha Trader (ZT) Keeping the above framework in perspective, let us explore the Option Calculator on Zerodha Trader (ZT). To invoke the option calculator, click Tools 8211gt Option Calculator as shown below. Or you can simply place your cursor on an option scrip and use the shortcut key ShiftO. This is how the calculator appears on the terminal: The calculator can be broken down into three sections as shown in the image below: The top section highlighted in blue is used to select the option contract, this is fairly straightforward. The left section highlighted in red is the input field. Let us look into this. We begin by selecting either the Underlying or the Futures price. Id suggest you select underlying as the default option. Once the underlying has been selected, you need to manually enter the value of the underlying in the Spot Price (in Rupees) field. The next two input fields are Actual Market Value and Volatility . At this stage you need to decide what the option calculator should calculate for you. If you want to calculate the fair value of the option premium also called the Theoretical Option Price then leave the Actual Market Value field blank and proceed to enter the volatility data. As I mentioned earlier, for Nifty options use the India VIX index value for the volatility field. Alternatively, if you want to calculate the volatility of the underlying leave the Volatility blank, but make sure you input the market price of the option in Actual Market Value. For the interest rate , take the 91 day T-bill rate data from the RBI website . Dividends (in Rupees) would be for the index and the actual dividend value in case of a stock. Also, in case dividends are expected within the expiry of the contract, make sure you enter the ex-dividend date. The last input field is the number of days left to expiry. Input the total number of calendar days here. Note, Zerodha Trader (ZT) has two models based on which the Greeks can be calculated, i. e. Black-Scholes Pricing Model and another model called the Cox-Ross-Rubinstein Binomial Method. The binomial method is also popularly used, however, Id advocate the Black-Scholes model as it is more advanced and precise. It is worth mentioning that the difference in output values between the two models is not really much. Lastly, look at the bottom section of the Output field (highlighted in green ). Just besides the Calculate button you have two options: Select Volatility if you want the option calculator to calculate the volatility for you. If you want to calculate the theoretical option price, select the Option Price. Have a look at the image below with all the input data loaded: Notice two things: Along with the Greeks, I intend to calculate the Option price (highlighted in blue). Also Actual Market Value is left blank (highlighted in red). I8217ve taken the volatility value from the India VIX index. The dividend field is blank since I have selected 8100 Nifty Call option ( index option), hence the value in ex-dividend date field is irrelevant. Once the input values are loaded, click Calculate to generate the output. The following image shows the output: The first field in the output field is the theoretical option price (also called the fair value) of the call and put option. The calculator is suggesting the fair value of 8100 call option should be 81.14 and the fair value of 8100 put option is 71.35. However, the call option value as seen on the NSE option chain is 83.85. The difference, though not significant, mainly occurs due to factors such as wrong volatility assumptions, bid-ask spread, liquidity, transaction charges, and taxes. Following the theoretical option price you can find the data on Greek values. As of today Nifty spot is 8085, and the closest ATM option is 8100. As we had discussed in the previous post, the ATM option should have a delta of approximately 0.5. In fact, the calculator is telling us that the delta is 0.525 for the call option and -0.475 for the put option. This is in line with our discussion on delta in the previous post. Following the delta value we find other Greek values such as Gamma, Theta, Vega, and Rho. Also, by default the calculator calculates the Greeks of: Put option of the same strike, same expiry A simple long straddle Option Calculator to calculate volatility Let us now use the option calculator to calculate the volatility of the underlying. To do this, I leave the Volatility field blank (highlighted in blue) and select Volatility (highlighted in red) option. Further, I input the Actual Market Value of the 8100 Call option as observed on NSE, which in this case happens to be 83.85 (see the NSE Quote image above). After selecting this click calculate: It turns out that the volatility of Nifty is 12.96 as opposed to 12.5175 as India VIX suggested. Well, the difference is less than 50 basis points this should also explain why the calculator calculated the Theoretical Option Price as 81.14 as opposed to 83.84. In fact, instead of 12.5175 if we now give Volatility input as 12.96 we will get the accurate Option price. See the image below: Conclusion: Option calculators are mainly used to calculate the option Greeks, volatility of the underlying, and the theoretical option price. Sometimes small differences arise owing to variations in input assumptions. Hence for this reason, it is good to have room for the inevitable modeling errors. However, by and large, the option calculators are fairly accurate. Lastly, we hope you enjoyed this three-part series on Option Greeks. Stay connected, stay profitable. Ive been trading and investing in the Indian markets for over a decade. I strongly believe that trading is not a gift that you are born with but a skill that you can develop over time. At Zerodha, Im involved in Equity Research amp Education initiative. I hold a Masters Degree in Risk amp Asset Management from EDHEC Business School, France and a Bachelor of Engineering from Bangalore University. 128 comments
No comments:
Post a Comment