TraderLux
Mitglied seit 11 Jahre 2 Monate
* System Tests mit Futures Daten
Hallo,
ich nutze TS 2000i und bekomme meine Daten aus Bloomberg. Es stellt sich mir nun folgende Frage.
Um ein EOD System testen zu können bedarf es einer Datenreihe, die vielleicht Länger als ein Eurostoxx Future Kontrakt geht. In der Literatur gibt es verschiedene Ansätze (Nearest-Future, Perpetual Future, etc), doch wird irgendwie nie ein Lösungsansatz aufgezeigt.
Gibt es denn Anbieter für Tradestation 2000i, die solche Daten liefern? Oder kann man sich vielleicht die Daten selbst zusammenbauen?
Gruß
Geschrieben von TraderLux
am
Fast jeder Datenlieferant bietet Methoden für Endloskontrakte an. Wie diese Symbole dann aussehen sollte man beim Anbieter direkt nachfragen. Reuters bietet Endloskontrakte an bei denen man immer auf eine bestimmte Nummer in der Liste der aktiven Kontrakte verweist, z.B. FDXc1 für den nächsten aktiven FDAX-Kontrakt, FDXc2 für den übernächsten usw. CQG bietet das gleiche an, z.B. DSX?1 für den nächsten FESX-Kontrakt, DSX?2 für den übernächsten. Da der als nächstes auslaufende Kontrakt hier gewöhnlich der am aktivsten gehandelte ist, bietet er sich für Systemtests an.
Daneben bietet CQG weitere Methoden an. Ich habe die Beschreibung hierzu mal kopiert:
-----
Changing Continuation Chart Settings
The available settings are No Continuation, Standard, Adjusted, Active or By Month.
No Continuation
Selecting No Continuation sets the current chart to display the data for a single contract month. It plots the specified contract through expiration. The resulting single contract chart is not a continuation chart.
Standard-rollover at expiration
Selecting Standard-rollover at expiration displays a chart for the lead month contract through expiration, and then displays the chart for the next available contract month.
Example: Using the Mar, Jun, Sep, and Dec cycle as an example, if you selected Standard-rollover at expiration, the chart would display data from the Mar contract through expiration, then continue with the Jun, displaying it through the June expiration, and so on for the Sep, and Dec contracts. Colored identification bars appear at the bottom of daily continuation charts, to indicate a transition between contracts.
Adjusted Continuation – rollover N days prior to expiration and/or equalize closes
Selecting Adjusted – rollover N days prior to expiration and/or equalize closes allows you to select the number of days prior to expiration the rollover will occur. This is accomplished by entering the desired number of days in the box under the Rollover Adjustments section. Additionally, CQG will equalize the closes of the old lead-month contract and the new lead-month contract, if the Equalize closes checkbox in the Rollover Adjustments section is selected. CQG does this by adding to the new lead-month contract the difference between the old lead month and the new lead month. Continuation charts using the Adjusted preference show the word Adjusted in the title bar.
Example: If N = 5 (i.e. 5 days prior to expiration) and SPZ expired on 12/18, then 5 trading days prior to expiration, or 12/11, the following adjustment would occur:
Close SPZ on 12/11 = 954.40
Close SPH on 12/11 = 965.30
Amount of Adjustment = 965.30 – 954.40 = 10.90
This figure (10.90) is added to the older contract to arrive at the value displayed on the continuation chart for 12/11.
Active Continuation – rollover with trading activity and optionally equalize closes
This option sets the chart to display data for the most active contract month. Once the transition occurs between the near-term month and the next month, the further out month remains the active contract until a contract other than that becomes more active. Colored horizontal bars appear at the bottom of the continuation charts, directly above the time scale, to indicate a transition to a new contract. Additionally, you can choose to equalize the closes by selecting Equalize Closes in the Rollover Adjustments section. This equalization is done by adding to the new lead-month contract the difference between the old lead month and the new lead month.
Determining the Most Active Contract:
The most active contract is determined by tick volume, both daily volume and tick volume, or simply using the near-term month, depending on the algorithm set by CQG.
More specifically, for the "Fast" algorithm, the tick count must be 50% larger before the most active contract is changed. Most financial contracts use the fast algorithm.
For the "Slow" algorithm, both the volume and the tick count must be at least 10% greater in the next month than the currently most active month for the new contract to take over as the most active. Generally, the non-financial contracts, especially the grains, use the slow algorithm since the new crop may see significant activity, even when it is not the front month. Additionally, short-term interest rate contracts use the slow algorithm.
The near term month is used only for inactive contracts such as the EuroYen.
Equalizing the closes:
Equalizing the closes makes the expiration comparisons more relevant. The equalization is applied on the day of the rollover (determined by the switch in the most active contract) according the following example:
Example: On 12/11/97:
SPZ = 954.40
SPH = 965.30
Amount of Adjustment = 965.30 – 954.40 = 10.90
This figure (10.90) is added to the older contract to arrive at the value displayed on the continuation chart for 12/11/97.
To equalize the closes, the Equalize closes checkbox at the bottom of the dialog must be selected.
Note: The Equalize Closes setting defaults to the last-used setting (either On or Off) for Active or Adjusted Continuation charts.
By Month - only use contracts for specified month
Selecting By Month… sets the chart to display only the data for the designated contract month.
@ roadwarrior
Vielen Dank für die Hilfe.
Bei Reuters wie bei Bloomberg wird einfach der nächste Kontrakt angehängt. Damit hast Du natürlich immer die Price Gaps in deinen Zeitreihen und das kann die Performance Deines Systems stark beeinflussen. Bei der Analyse von wöchentlichen Daten, sollte das nicht das Problem sein, doch im Tageschart macht das schon einiges aus. Aber die Methode von CQG werde ich mir mal genauer anschauen. Hätte wohl doch eher CQG nehmen sollen. ;-).
Nochmals vielen Dank.
Die Gaps beim Wechseln der Kontrakte sind meines Erachtens bei allen Futures unterschiedlich bedeutend. Beim DAX und Euro Stoxx Future würde ich sie für vernachlässigbar halten. Bei weniger volatilen Futures mit größeren Kontraktspreads ist das dann aber schon etwas anderes.
Mal eine Frage: Welches Bloomberg Produkt nutzt Du denn? Ist das ein spezieller Datenservice zur Weiterverarbeitung in der TS oder das normale Professional System?
CQG ist nicht unbedingt mit Bloomberg vergleichbar, die Stärke von CQG liegt vor allem in ihrer enormen Kurs-Datenbank und der einfachen Möglichkeit diese in ihrem System zu verarbeiten.
@ roadwarrior et all
'Die Gaps beim Wechseln der Kontrakte sind meines Erachtens bei allen Futures unterschiedlich bedeutend. Beim DAX und Euro Stoxx Future würde ich sie für vernachlässigbar halten. Bei weniger volatilen Futures mit größeren Kontraktspreads ist das dann aber schon etwas anderes.'
Die hier als GAPS bezeichneten Preisunterschiede zwischen aktuellem auslaufendem Future und nächstfolgendem Future haben NIX mit Volatilität zu tun, sondern sind rein der Faktor ZINS. Vergleiche z.B. Dax (S&P) Juni, Sep, Dez etc. Bei anderen Futures, z.B. ÖL, kommen noch Saisonalitäten hinzu, bei FOREX z.B. einfach die Zinsdifferenz der beiden Währungen. Da sich die Zinssituation über Jahre heftig wandelt ist dies NICHT zu ignorieren.
Insbesonders bei langjährigen Backtests auf EOD daten sollte hier nichts "vernachlässigt" werden sondern RICHTIG "backadjusted" werden und das noch mit richtigen Daten.
Wie hier im Forum schon mehrfach diskutiert/festgestellt sind die Daten von CSI, die auch Grundlage der berühmten Ebertschen Charts sind, hier erste Wahl. Dort kann man z.b. einen 20 Jahre S&P Chart auf aktueller Futurekursbasis backadjusten und am Stück durchtesten.
Wer diese rollover "Probleme" umgehen will und "schlauerweise" Handelssysteme auf Kassenindeces testet, sollte besser in den Sandkasten gehen - das dürfte ähnlich praxisrelevenat sein und auf jeden Fall besser und billiger bevor das "blaue Wunder" vorbeikommt.
gruss hans
Niemand hat behauptet die Spreads wären von der Volatilität abhängig!
Ich habe nur darauf hingewiesen dass die Spreads mit zunehmender Volatilität des Futures immer geringere Bedeutung haben. So beträgt z.B. beim FDAX die Spread zwischen Juni- und September-Kontrakt aktuell gerade mal 19 Punkte. Hat man es nun in einem non-adjusted Chart mit einem solchen Gap zu tun, so ist das natürlich völlig bedeutungslos da der FDAX derartige Gaps an jedem beliebigen Tag auch ohne Kontraktwechsel aufmacht. Schaut man hingegen auf weniger volatile FI- oder MM-Kontrakte, so wäre ein non-adjusted Chart so löchrig wie ein schweizer Käse! Und etwa so aussagekräftig.
Backadjusted Charts machen nicht immer Sinn! Bei Equity-Index-Futures sollte man sich selbst einen Gefallen tun und darauf verzichten. Man kann 20 Jahre SP auch ohne testen und erhält damit wahrscheinlich sinnvollere Ergebnisse als mit nachträglich manipulierten Daten. Wichtig ist einzig und alleine zu wissen wann die Kontraktwechsel stattfinden!
Ich nutze Adapta 2000 for Bloomberg. Damit kannst Du alle Daten aus Bloomberg in den GlobalServers laden. Die Datenqualität ist nicht schlecht, doch die Qualität von CQG ist meines Erachtens viel besser.
Da ich die Backtestingmöglichkeit von CQG nicht kenne, habe ich mich für Tradestation entschieden.
@ Hans
Nach Deiner Meinung sollte ich also die DAX-Kasse nutzen um den FDAX zu handeln? Das halte ich aber für recht unsauber. Dank der Eurex handeln wir ja jetzt den Future noch zweieinhalb Stunden länger.
Um die Unterschiede zu demonstieren habe ich hier mal einen 6monatigen Chart des FDAX non-adjusted gezeichnet:
Und jetzt dagegen einen Chart des EuroSwiss-Futures:
@ roadwarrior
Das entspricht ja meiner Meinung. Ich arbeite für einen Propdesk bei einer Bank und wir sind dabei ein Systemportfolio zu entwickeln um verschiedene Financial Futures zu handeln.
Das Portfolio wird aus drei Strategien bestehen. Ein Trendfolge, Volatility Breakout und ein Countertrendsystem. Somit verspreche ich mir eine Glättung der Equity Curve.
Nur der Haken an der Sache ist die Aufbereitung der Daten. Da ich ein diskretionärer Händler bin, habe ich mir bisher darüber nie Gedanken gemacht. Habe mir schon überlegt, ob ich mir die Daten in Excel anpasse, aber das ist ein dicker Haufen Arbeit.
@ TraderLux
'Nach Deiner Meinung sollte ich also die DAX-Kasse nutzen um den FDAX zu handeln?'
Wo soll ich denn das gesagt haben ? Habe dies doch wohl gerade als Schwachsinn bezeichnet ! Natürlich NICHT !
'Nur der Haken an der Sache ist die Aufbereitung der Daten. Da ich ein diskretionärer Händler bin, habe ich mir bisher darüber nie Gedanken gemacht. Habe mir schon überlegt, ob ich mir die Daten in Excel anpasse, aber das ist ein dicker Haufen Arbeit. '
Wieso, das haben doch 10.000 Leute bereits vorher gemacht. Wer es nicht selber machen will - was vernünftig ist; gibts bei CSI etc fertig in der Geschenkpackung zu kaufen.
gruss hans
@ he
Wer ist denn 'CSI'? Ich mache bisher alles manuell. Hat der Anbieter auch eine Homepage?
Gruß Qualm
http://www.csidata.com/
@ he96
Sorry, da habe ich mich in der Zeile verlesen.
Dann wird mir nichts anderes übrig bleiben, die Daten per Hand zu bearbeiten.
Trotzdem vielen Dank.
@ TraderLux
'dann wird mir nichts anderes übrig bleiben, die Daten per Hand zu bearbeiten.'
NEIN :-)
Kaufe die Daten bei CSI und FERTIG !
gruss hans
@ TraderLux
Hast du schon mal bei Bloomberg angerufen? Ich kann mir nicht vorstellen, dass es die adjustierten Daten nicht dort gibt.
Herr Jung (Durchwahl -124), wenn es ihn noch gibt, kann dir da bestimmt helfen.
Ansonsten die Help-Taste quälen.
Gruß
@ Hector
Es gibt einen Generic Kontrakt für alle Futures. Dieser hängt aber immer nur den nächst fälligen Kontrakt an.
Gerade am Verfalltag stoppt der Update nach 13.00 Uhr. Da ja dann der Kontrakt ausläuft und am Montag setzt er dann wieder an mit dem nächst fälligen.