Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community. It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
@Balanar: Wenn Du den File nutzen willst, kannst Du ihn einfach nach Dokumente -> NinjaTrader 7 -> bin -> Custom -> Indicator kopieren. Danach NinjaTrader starten und mit Tools -> Edit NinjaScript -> Indicator den Indikator öffnen und dann mit F5 kompilieren. Allerdings musst Du vorher das GOM Framework installiert haben.
leider bekomme ich einen Error während des Kompilierens.
NT spuckt mir das hier aus:
---------------------------------------------
The following CS0234 error code information is provided within the context of NinjaScript. The examples provided are only a subset of potential problems that this error code may reflect. In any case, the examples below provide a reference of coding flaw possibilities.
Error Code Explanation
This error can occur when an imported DLL (could be a 3rd party indicator) you are referencing no longer exists/has been removed.
To resolve this the DLL must be re-imported.
--------------------------------------------
Die bei NinjaTrader voreingestellten Rollover Dates sind vielfach falsch. Für US Index Futures und US Interest Rates Futures klappt es noch, alles was darüberhinaus eingestellt ist, naja......
Als Trader bist Du selbst für die Wahl des Rollover Datums verantwortlich. Dabei sind zwei Dinge zu unterscheiden
-> das Rollen einer etwa vorhandenen Position
-> das Rollen des Kontraktes im Hinblick auf die verwendeten Handelsdaten
Das Rollen des Kontraktes sollte dann erfolgen, wenn die Liquidität vom alten zum neuen Front Month wandert. Bei FGBL wäre also der ideale Rolltermin gestern oder heute. Hinsichtlich der Daten gibt es verschiedene Ansätze.
Bei Interest Rate Futures (wie z.B. FGBL) sind die Spreads in den letzten Tage vor dem Auslaufen des Kontraktes relativ stabil. Einige Datenanbieter rollen daher bereits einige Tage vor dem Volume Crossover oder dem Open Interest Crossover in den neuen Kontrakt. Hier findest Du ein Beispiel: PINNACLE DATA PRODUCTS - Continuously Linked Commodity Contracts - CLC Database. Pinnacle rollt den Euro Bund bereits seit 1986 am 26. Tag des Vormonats, also 2 Wochen früher als angemessen.
Das muss man jetzt aber nicht nachmachen. Ich rolle meine Kontrakte am Tag des Volume Rollover, das heißt ich habe für FGBL 09-13 den 5. Juni als Rollover Datum eingetragen (NinjaTrader Voreinstellung war 6. Juni). Die Amis wissen eh nicht, wann deutsche Kontrakte gerollt werden.
Auswirkungen des Rollover Datums auf Offset
Ich verwende MergeBackAdjusted Kontrakte und achte bei den Instrumenten, die ich handele natürlich immer darauf dass Rollover Datum und Offset korrekt sind.
Wenn man das voreingestellte Rollover-Datum verwendet, dann werden die Offsets vom NinjaTrader Server heruntergeladen. Das gefällt mir schon gar nicht, da die Offset dort nicht richtig sind (der von NinjaTrader verwendete DataFeed Zenfire liefert keine historischen Daten, und schon gar keine Tagesdaten - man bekommt also keinen Settlement Preis). Glück also bei FGBL 09-13, dass der Volume Rollover einen Tag früher stattfindet. Jetzt ermittelt NinjaTrader den Offset nämlich aus den Tagesdaten (ich verwende Kinetick und die liefern für alle Futures den Settlement Preis, den ich haben will).
Prüfen sollten man den Offset von Hand. Also vom 4. Juni (Vorabend Rollover Date) den Settlement-Preis des neuen Kontraktes (143,31) abzüglich des Settlement-Preises des alten Kontraktes (143,36), ergibt einen Offset von -0.05 Punkten. Nachschauen im Instrument Manager -> Stimmt und alles ist gut.
Damit zeigt NinjaTrader den Kontrakt auch korret an. Alle Daten von gesten und älter werden im Modus MergeBackAdjusted jetzt 0.05 Punkte nach unten verschoben.
Es gibt bei Futures eigentlich vier verschiedene Möglichkeiten Charts darzustellen.
(1) Einzelne Monate
Vorteil: Alles wird richtig dargestellt, soweit ausreichend Daten vorhanden sind.
Problem: Wenn man über das letzte Rolldatum hinaus die Daten verwenden möchte, wird die Liquidität etwas dünn und das Chart bekommt Löcher.
(2) Chart zusammengesetzt aus einzelnen Kontrakten ohne Preisanpassung (non adjusted)
Vorteil: Die angezeigten Preise entsprechen den tatsächlich gehandelten Preisen
Nachteil: Indikatoren zeigen in der Regel falsch an, z.B gleitende Durchschnitte, Fibonacci Retracement (verzerrt durch Rollover Gap), etc. Ein BAcktest ist nicht möglich, das Rollgewinne und Rollverluste nicht berücksichtigt werden.
(3) Chart zusammengesetzt aus einzelnen Kontrakten mit rückwirkender Preisanpassung für alte Kontrakte (backadjusted)
Vorteil: Indikatoren funktionieren. Backtest ist korrekt.
Nachteil: Absolute Preise aus der Vergangenheit sind falsch (alle Preise außer für den aktuellen Monat sind künstlich)
(4) Chartdarstellung als kontinuierlicher Kontrakt, der aus Einzelkontrakten zusammengespleisst wird
Vorteil: Für langfristiges Trading geeignet, da absolute Preise in etwa korrekt wiedergegeben werden
Nachteil: Die Preise bewegen sich außerhalb des vorgegebene Tickrasters, Rollover Gaps werden nicht neutralisiert wie beim Kontrakt mit rückwirkender Preisanpassung, sondern werden quasi auf die gesamte Lebensdauer (Abstand zwischen zwei Rollover Dates) verteilt.
Wer kurzfristig handelt oder Swing Trader ist, fährt in der Regel mit "backadjusted" Kontrakten am besten.
Danke nochmal für die ausführliche Antwort.
Ich achte auch immer auf das Volumen und wechsle wenn im neuen kontrakt mehr Tagesvolumen drin ist.
wusste blos nicht ob es negative Auswirkungen hat wenn ich das Datum selbst verstelle.
...so ganz geben bei: ich wüßte auch nicht wo ich das Verfallsdatum der Eurex Produkte auf der Eurex-Website herausfinden kann.
-> entweder seine Kontrakte glattstellen
-> oder, wenn er die Position bei Vertragsende noch hält, liefern oder eine Lieferung entgegennehmen
Eine Ausnahme sind Futures mit Cash Settlement. Bei diesen wird bei Vertragsablauf eine Ausgleichszahlung fällig, die aus dem Final Settlement ermittelt wird.
Wenn Du also eine Short Position in FGBL bis zum Vertragablauf hälst, dann musst Du Bonds liefern. Dabei kommen verschiedene Bonds zur Auswahl. In der Regel wird ein BondTrader dann die sogenannte Cheapest-To-Deliver Anleihe für die Lieferung auswählen. Für den noch aktuellen Front Month Juni 2013 kommen laut EUREX die folgenden Bonds in Frage, um der Lieferverpflichtung aus einer Short-Position nachzukommen:
Ine Calendar Spread ist eine synthetische Position die aus einer Long Position des Front Months (Juni) und einer Short Position des Back Months (September) besteht.
Es gibt also zwei Alternativen zum Rollen einer Longposition:
(1) Verkaufe Juni Futures und kaufe September Futures
(2) Verkaufe einen Calendar Spread
Wenn ich bereits eine Longposition im Juni Future halte und dazu einen Calendar Spread verkaufe (dies entspricht dem gleichzeitigen Eingehen einer Short Position im Front Month und einer Long-Position im Back Month), dann saldieren sich Long und Short Position im Front Month, und die Long Position im Back Month bleibt übrig.
Beim Rollen über einen (Calendar-) Spread fällt der (Bid-/Ask) Spread nur einmal an, und es werden auch nur einmal Gebühren fällig. Da wiederum andere Marktteilnehmer ihre Short-Position rollen möchten, gibt es auch genügend Käufer für den Spread, welche von den Tradern verkauft werden, die ihre Long-Position rollen möchten.
Das Verfallsdatum ist Bestandteil der Kontraktspezifikationen. Wenn Du einen Future handelst gehst Du einen Terminkontrakt mit einem anderen (anonymen) Marktteilnehmer ein, dessen Erfüllung von der Börse (hier EUREX) garantiert wird. Für diesen Kontrakt gibt es allgemeine Bedingungen. Interessant, dass Du Verträge abschließt, ohne die AGBs zu kennen.
Last Trading Day
Two exchange days prior to the Delivery Day of the relevant maturity month. Close of trading in the maturing futures on the Last Trading Day is at 12:30 CET.
Delivery Day
The tenth calendar day of the respective quarterly month, if this day is an exchange day; otherwise, the exchange day immediately succeeding that day.
Final Settlement Price
The Final Settlement Price is established by Eurex on the Final Settlement Day at 12:30 CET based on the volume-weighted average price of all trades during the final minute of trading provided that more than ten trades occurred during this minute; otherwise the volume-weighted average price of the last ten trades of the day, provided that these are not older than 30 minutes. If such a price cannot be determined, or does not reasonably reflect the prevailing market conditions, Eurex will establish the Final Settlement Price.
Oder Du kannst auch im Trading Calendar nachschauen:
06 Jun 2013
Fixed Income Derivatives | Last Trading Day
Last Trading Day for fixed income futures
Beim Kompilieren werden die Fehlermeldungen unten im Editor angezeigt. Du müsstest uns schon einen Screenshot liefern, damit wir lesen können, was da so alles steht.
Wie wird es praktisch gemacht? Also das Rollen über einen (Calendar-) Spread?
Mit NT sicherlich nicht vermute ich... muss man dazu den Broker anrufen? kann mir die Praxis leider nicht ganz vorstellen (obwohl die Theorie einfach verständlich ist)
Nach meinem Verständnis ist der Verkauf eines Spreads identisch mit dem Verkauf des Front Month Futures und dem Kauf des Back Month Futures.
Halte ich also einen Kontrakt long FGBL 06-13 und verkaufe den Calendar Spread, dann habe ich hinterher
1 FGBL 06-13 long
1 FGBL 06-13 short
1 FGBL 09-13 long
wobei die ersten beiden Positionen automatisch gelöscht werden sollten. Es verbleibt also im Ergebnis nur die Long Position im neuen Front Month, was so im Broker Front End auch angezeigt wird.
Der Broker braucht hiervon nicht unterrichtet zu werden.
Der Vorteil des Rollens über eine Spread-Position ist ein reduzierter Bid-/Ask Spread und das Eliminieren des Ausführungsrisikos über 2 getrennte Trades. Am Ende erhält man jedoch eine Outright Long Position und eine Outright Short Position.
Das Matchen des Spreads mit den beiden Basiskontrakten erfolgt
- entweder über implizites (algorithmisches) Matchen über das Börsenhandelssystems
- oder auf dem Umweg über designierte Market Maker