Berechng. zum Auf- u. Abrunden auf bestimmte Basis Verfasst am: 12.03.2007, 14:39
Ich möchte eine Strategie visualisieren, bei der 14 Tage vor Verfall Bund Optionen, die mindestens 50 Ticks aus dem Geld sind, geschrieben werden. Ein Blick auf die Grafik soll uns zeigen, wie weit sich der Bund dem Basispreis der geschriebenen Option im Verlauf genähert hat.
Dazu möchte 50 Punkte über (unter) dem Eröffnungskurs des Bund Future eine horizontale Linie zeichnen, und zwar aufgerundet (abgerundet) auf den nächsten Basispreis.
Beispiel: Der Bund öffnet bei 115,25
115,25 + 0,50 = 115,75 Aufrunden führt zum Basispreis bei 116,00
125,25 - 0,50 = 114,75 Abrunden führt zum Basispreis bei 114,50.
Mit der Funktion Aufrunden und Abrunden komme ich der Lösung nicht näher, weil dann auf ganzzahlige Basispreise gerundet wird und nicht, wie im obigen Beispiel gewünscht, ein Ergebnis von 114,50 herauskommt.
So soll das später mal aussehen: Man erkennt, daß der Algorithmus mit Auf- und Abrunden, nicht zum gewünschten Ziel führt.
_________________
SwingManT
Anmeldedatum: 17.08.2005 Beiträge: 1700 Wohnort: Frankfurt am Main
Verfasst am: 12.03.2007, 15:11
@wuelle
Zitat:
115,25 + 0,50 = 115,75 Aufrunden führt zum Basispreis bei 116,00
125,25 - 0,50 = 114,75 Abrunden führt zum Basispreis bei 114,50.
Gewöhnlich muß man zunächst mit 100 multiplizieren, und dann weiter noch ein bisschen tricksen.
In Dein Beispiel, SOLLTEN die Werte 116,00 und 114,50 sein, oder das ist was Du bekommst?
Gebe mal bitte auch ein Beispiel mit etwas verschobenen Preise: 115,12 z.B., und was heraus kommen soll.
SwingManT
Anmeldedatum: 17.08.2005 Beiträge: 1700 Wohnort: Frankfurt am Main
Gebe mal bitte auch ein Beispiel mit etwas verschobenen Preise: 115,12 z.B., und was heraus kommen soll.
Es soll 114,50 und 116,00 rauskommen.
_________________
wuelle
Anmeldedatum: 24.08.2005 Beiträge: 336
Verfasst am: 12.03.2007, 15:56
@Swingman
Jorams Vermutung ist Richtig. Der Basispreis soll mindestens 50 Ticks entfernt sein.
Deine Zeile
Zitat:
P1 = int(P0 / 50)
verstehe ich noch nicht. Was bedeutet int(...) ?
Problematisch wird´s aber z.B. bei 115,49. Dann sollen 115 Puts (nur 49 Ticks aus dem Geld) und 116 Calls untersucht werden. Man wird mit einem Schwellenwert arbeiten müssen. Ich schlage 45 Ticks vor.
Solange Bund >= 115,45 schreibe 115er Puts. Wenn Bund unter 115,40 dann wähle als Basis die 114,50.
Zuletzt bearbeitet von wuelle am 12.03.2007, 16:05, insgesamt einmal bearbeitet
SwingManT
Anmeldedatum: 17.08.2005 Beiträge: 1700 Wohnort: Frankfurt am Main
Verfasst am: 12.03.2007, 16:02
@wuelle
Zitat:
Was bedeutet int(...) ?
- Der abgeschnittene INTEGER Teil.
Je nach Scriptsprache: ROUND, TRUNC oder sonstwas.
- Ich glaube daß nur @Joram die Lösung finden kann, weil er uns irgendwelche IQ Teste vorgeschlagen hat, oder?
wuelle
Anmeldedatum: 24.08.2005 Beiträge: 336
Verfasst am: 12.03.2007, 16:36
@Swingman
Joram wird uns sicher ein Hilfe sein, zumindest kann er moralische Unterstützung geben oder einen Kontakt zu einem Mathematikprofessor oder Lehrerin herstellen!
SwingManT
Anmeldedatum: 17.08.2005 Beiträge: 1700 Wohnort: Frankfurt am Main
Verfasst am: 12.03.2007, 16:48
Zitat:
Aber Du kannst weiter versuchen eine elegante Lösung zu finden,
- Ich glaube in OTracker das Problem gehabt zu haben.
Vermutlich ist am besten die Hammer Methode zu benutzen, und eine Funktion zu schreiben wo genau beschrieben wird ab welcher Nachkommastelle das eine oder andere Wert berücksichtigt wird.
Ausser 115,49 gibt es auch den 115,99, mit 116,50 und 115,50 Optionsbasis usw.
SwingManT
Anmeldedatum: 17.08.2005 Beiträge: 1700 Wohnort: Frankfurt am Main
Verfasst am: 12.03.2007, 16:54
Zitat:
Joram schrieb am 12.03.2007 16:53
@Swingman
na siehste
FUNKTIONIERT!
- Was? Wo? Wieso?
Zuletzt bearbeitet von SwingManT am 12.03.2007, 16:55, insgesamt einmal bearbeitet
wuelle
Anmeldedatum: 24.08.2005 Beiträge: 336
Verfasst am: 13.03.2007, 12:30
@Swingman
Ich habe eine Lösung gefunden!
Zitat:
Joram aber schrieb am 12.03.2007 16:43 Sofort kriege ich Atemnot wenn ich eine Zeile Code zu Gesicht bekomme.
Meinst Du, es ist zu verantworten, daß ich meine Lösung trotz Joram´s Code Allergie, hier darstelle? :-)
SwingManT
Anmeldedatum: 17.08.2005 Beiträge: 1700 Wohnort: Frankfurt am Main
Verfasst am: 13.03.2007, 12:52
Zitat:
wuelle schrieb am 13.03.2007 12:30
@Swingman
Ich habe eine Lösung gefunden!
Zitat:
Joram aber schrieb am 12.03.2007 16:43 Sofort kriege ich Atemnot wenn ich eine Zeile Code zu Gesicht bekomme.
Meinst Du, es ist zu verantworten, daß ich meine Lösung trotz Joram´s Code Allergie, hier darstelle?
- Wenn er die Luft anhält, und sich eine XXL Sonnenbrille ansetzt, dann überlebt er schon...
wuelle
Anmeldedatum: 24.08.2005 Beiträge: 336
Verfasst am: 13.03.2007, 14:44
@Swingman
Zunächst wird der Dezimalteil errechnet:
var Dezimalteil = open(0) - Math.ceil(open(0));
und dann je nach dem Wert dieses Dezimalteil
if (Dezimalteil >= 0.55) var Summand = 0.5;
if (Dezimalteil < 0.55) var Summand = 0;
ein Summand zum ganzzaghligen Kursniveau addiert
var BasisCall = Math.ceil(open(0)) + Summand;
Analog dazu, die Errechnung des Basispreis Put
if (Dezimalteil <= 0.45) var Subtrahend = -0.5;
if (Dezimalteil > 0.45) var Subtrahend = 0;
var BasisPut = Math.floor(open(0)) + Subtrahend
Das gilt für Preisniveaus um xxx.50 mit Schwellenwert 5 Ticks.
Eine Lösung für Niveaus bei xxx.00 muß noch hinzugefügt werden. Oder fällt Dir eine elegante, einheitliche Lösung für Nivaus bei xxx.00 und xxx.50 gleichzeitig ein?
SwingManT
Anmeldedatum: 17.08.2005 Beiträge: 1700 Wohnort: Frankfurt am Main
Verfasst am: 13.03.2007, 15:10
@wuelle
Für die 0,00 und 0,50 Dezimalwerte könnte man so machen:
- mit 100 multiplizieren
- Ergebnis plus/minus 50
- Ergebnis durch 100 teilen
SwingManT schrieb am 13.03.2007 12:52
- Wenn er die Luft anhält, und sich eine XXL Sonnenbrille ansetzt, dann überlebt er schon...
@Swingman
Meinst Du so eine Brille? Ich finde, Joram sieht auf dem Bild lässig aus.
SwingManT
Anmeldedatum: 17.08.2005 Beiträge: 1700 Wohnort: Frankfurt am Main
Verfasst am: 13.03.2007, 17:25
@wuelle
Zitat:
Meinst Du so eine Brille? Ich finde, Joram sieht auf dem Bild lässig aus.
- Jawohl! Das ist der läss(t)ige @Joram den wir alle kennen...
SwingManT
Anmeldedatum: 17.08.2005 Beiträge: 1700 Wohnort: Frankfurt am Main
Verfasst am: 13.03.2007, 17:27
@wuelle
Ich sehe (ohne @Jorams Brille...) nicht ein, warum in den letzten 3 Monaten auf der Call Seite die 1,0 addiert werden soll.
Auch visuell betrachtet, gibt es keine Symetrie.
wuelle
Anmeldedatum: 24.08.2005 Beiträge: 336
Verfasst am: 13.03.2007, 18:35
Die Option muß bei den gewählten Parametern, zum Eröffnungskurs mindestens 40 Ticks aus dem Geld sein, ansonsten wählt man den entfernteren Basispreis.
Eröffungskurs am 10.01.07 war 115.14, am 7.2.07 115.11, somit wären die 115.50 Calls zum Schreiben 36 bzw. 39 Ticks aus dem Geld gewesen. Hier stimmt das gewünschte Ergebnis mit Basispreis 116.
Am 9.3.07 beim Eröffnungskurs von 116.06 müßte aber der Basispreis 116.50 statt wie eingezeichnet 117 als Ergebnis rauskommen. Dieser Fehler resultiert aus einem Tippfehler in der Zeile
if (Dezimalteil >= 0.06 && Dezimalteil < 0.60) var Summand = 1.0;
korrekt muß es heissen:
if (Dezimalteil >= 0.10 && Dezimalteil < 0.60) var Summand = 1.0;
Die korrigierte Grafik, mit den Linien auf den Niveaus der Basispreise, die man entsprechend der Eingangs beschriebenen Regel, wählen würde.
Eine Grafik, mit 50 Ticks symmetrisch um den Eröffnungskurs gezeichnet.
Zuletzt bearbeitet von wuelle am 13.03.2007, 18:37, insgesamt einmal bearbeitet
SwingMan
Anmeldedatum: 16.08.2005 Beiträge: 885
Verfasst am: 13.03.2007, 19:10
@wuelle
Zitat:
Eine Grafik, mit 50 Ticks symmetrisch um den Eröffnungskurs gezeichnet.
- So ungefähr habe ich mir vorgestellt, Du mußt es besser wissen.
Jedenfalls, wenn im Januar und Februar 116,00 statt 115,50 korrekt bleibt, dann ist die (Options)Welt in Ordnung.
SwingMan
Anmeldedatum: 16.08.2005 Beiträge: 885
Verfasst am: 13.03.2007, 21:52
@Joram
Wieso? Ich helfe nur @wuelle und Dir die Basispreise im Chart richtig zu zeichnen, und das wärend meiner Arbeits- und Freizeit. Schreibfehler passieren nicht nur Dir, oi, oi, oi... _________________
SwingMan
Anmeldedatum: 16.08.2005 Beiträge: 885
Verfasst am: 14.03.2007, 00:36
@Joram
"Knoblauch" ist das Zauberwort in die Suche zu geben, dann kriegt man das Rezept.