Sonntag, 17. Dezember 2017, 03:13 UTC+1

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Lucas

Benutzer

Registrierungsdatum: 12. September 2013

Beiträge: 40

1

Samstag, 26. April 2014, 20:54

Komprimierung von TickDaten

Hallo Investoxer,


über RTT habe ich mir einiges an Kurshistorien aus Taipan
gezogen. Da die Kurshistorien jeden Tick beinhalten, dauert es auf meinem
System Ewigkeiten, wenn ich mehrere Titel rein lade um bspw. ein Portfolio zu
testen (auch wenn ich „nur mal eben“ ein simples EOD System "grob" testen will).


Meine Idee wäre für jede Zeiteinheit (Tick, 5 min, 60 min
etc.) einen Berechnungstitel zu erstellen, was aber sehr viel Arbeit bedeuten
würde.


Wie geht Ihr damit um?


Viele Grüße


Lucas




Lucas

Lenzelott Männlich

Erleuchteter

Registrierungsdatum: 30. Dezember 2002

Beiträge: 2 886

Wohnort: Giessen

2

Sonntag, 27. April 2014, 01:05

Für die wichtigsten Futures habe ich 1 Minuten Berechnungstitel.
Die lassen sich auch blitzschnell auf 5 / 10 / 15 / 60 Minuten oder Tagesbars hochkomprimieren.
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Bernd

Erleuchteter

Registrierungsdatum: 5. Juni 2005

Beiträge: 3 801

Wohnort: Iringsweg

3

Sonntag, 27. April 2014, 16:17

Hallo Lucas

Man kann sich seine Titel (ich meine, seit INV V5.7.0) z.B. so in einem kleinen Hierarchie-Konzept unter Verwendung von Komprimierungstiteln (KT) organisieren (mit Alias sind im Folgenden ebenfalls KTs bezeichnet, aber eben mit anderen Titeldefinitionen auf einen "Vater-KT"):

  • RTT Titel vollständig ohne Zeitbeschränkung

    • 24h Vater-KT auf 1 Min-Kompression fasst die RTT Titel zusammen für diese Kinder:

      • Alias für den leichteren Austausch von HSen mit den Kollegen, Titelname und Zeitbeschränkung beliebig, zu den Kollegen passend

        Alias auf die regulären Handelszeiten zeitbeschränkter Titel

        Alias auf erweiterte Handelszeiten zeitbeschränkter Titel

        Alias auf die Handelszeiten eines anderen Titels beschränkter Titel (z.B. für Pairtrading)

        Alias usw., passend für ein einzelnes HS könnte man einen Titel zurechtbiegen mit passender Zeitbeschränkung und Kompression - ohne später mehr Pflegeaufwand beim Rollover zu haben !



KT's ermöglich konzeptionelle Arbeit mit den Investox-Titeln und gleichzeitig bleibt beim Rollover der Pflegeaufwand klein.

Der Nachteil gegenüber dem Ansatz von Lenzelott ist, dass KT's bei der ersten Verwendung nach dem Start einer Investox-Instanz erst aufgebaut werden (es weden ähnlich vorkomprimierte Dateien erzeugt wie bei BTs (Berechnungstiteln), aber eben bei jedem Neustart von Investox wieder).

Ich habe für die Entwicklungsarbeit ebenfalls mal mit BTs gearbeitet statt mit KTs, um zu sehen, ob der Ansatz insgesamt flüssiger ist. Hier ist es so:

sind die KT's aber ersteinmal geladen, geht die Arbeit damit genauso flott wie mit BTs. Dafür hat man in den KTs immer aktuelle Daten drin, während man sich bei BTs, die man zum Zwecke der Handelssystem-Entwicklung angelegt hat, entweder von Hand um die Aktualisierung kümmern muss oder man gibt es Investox mit einem Zeitplan auf - hat aber während der Aktualisierung ggf. ebenfalls eine Investox-Instanz die kein flüssiges Arbeiten erlaubt.

Alles in allem ist für mich der beschriebene Ansatz jener, der die meisten Vorteile bietet - und der auch direkt die Umstellung auf Realhandel ermöglicht ohne an die Aktualisierung von BT's zu denken und deren Timing - oder gar eine Umstellung beim Realhandel direkt auf RTT-Titel.

Für die Entwicklung von Tick-Systemen verwende ich übrigens einen eigenen (weiteren) "Vater-KT" ohne Datenfilter, um auch Tick-Aussreisen (wie sie bei News durchaus real entstehen können) testen zu können. Für die wenigen Futures, für die ich auch Tick-Systeme unterhalte, nehme ich also beim Rollover den doppelten Pflege-Aufwand in Kauf. (Für diese Tick-Systeme muss man dann natürlich mit einem geeigneten Leistungs-Schema den Datenausschnitt beschränken im Backtest, weil ein Tick-KT mit Daten mehrerer Jahre Tickdaten leider nicht in den Hauptspeicher passt ...).
Gruss
Bernd

-----------------------------------------------
http://www.13quants.ch

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »Bernd« (27. April 2014, 19:49)


Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 538

4

Montag, 28. April 2014, 11:15

Hallo,

eine weitere Möglichkeit bietet die Option "RTT-Daten wenn möglich direkt vom Server laden". Ist diese aktiv und lange Perioden- bzw. EoD-Historien stehen in TPRT zur Verfügung, werden diese bereits vorkomprimiert vom Tai-Pan-Server geladen (über Tai-Pan RT). Dies spart gerade bei EoD-Daten viel Zeit gegenüber der Komprimierung der Tickdaten. Aktuelle Daten werden dann über die RTT-Aufzeichnung automatisch angefügt.

Relevant ist zudem die Zwischenspeicher-Einstellung (Bereich Zwischenspeicher-Leerung): "Beim Beenden von Investox nicht leeren". Ist diese aktiv, müssen die Historien nach Neustart von Investox nicht neu eingelesen werden.

Viele Grüße
Andreas Knöpfel

sten

Erleuchteter

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

5

Montag, 28. April 2014, 11:30

Hallo Lucas,

das ist eine wichtige Frage, die man sich am Anfang stellen sollte, weil hier kann man bei der späteren Kurspflege viel Zeit sparen (oder eben auch nicht).
Hr. Knöpfel hat hier das Vererbungsprinzip aus der Softwareentwicklung umgesetzt, d.h. man hat eine Basisklasse und kann deren Eigenschaften an die Eltern, deren Kinder, usw., weiter vererben.
Der Knackpunkt ist, die neuen Kontrakte nur in der "Basisklasse" einzupflegen und der Rest(jeweiligen Zeitbeschränkung+ automat. Kontrakwechselzeitpunkt oder per Stichtag, reale Kurse oder nachjustierte, usw.) geht Dank Vererbung dann automatisch.

Zur Anforderungsanalyse:
a) Entwicklungsumgebung
- Kombititel auf 1min-Basis vorkomprimiert mit den jeweiligen Zeitbeschränkung ... für Tests und schnellere Entwicklung von HS
- Kombititel auf Tickbasis mit den jeweiligen Zeitbeschränkung ... zur Kontrolle bzw. Feinjustierung, falls Abweichung zu 1min-Vorkomprimierung
- Kurstitel pur verwenden, wann immer mögklich(z.B. bei Forex und CFD) ... zur Kontrolle bzw. Feinjustierung, falls Abweichung zu 1min-Vorkomprimierung

b) Produktivumgebung
- Kurstitel pur verwenden, d.h. auf Tickbasis ... verwende hier nur sehr ungern Kombititel, weil man dann bei der Periodenbegrenzung höllisch aufpassen muss (brauchen eine hohe Mindestanzahl von Perioden, damit sauber arbeiten können)

Von der konkreten Umsetzung würde ich es wahrscheinlich so versuchen umzusetzen (wie von Bernd vorgeschlagen):
  • Forex RTT Titel vollständig ohne Zeitbeschränkung
    [**]KT:Forex 1min ... für schnellere Entwicklung


  • alle einzelnen Future RTT Titel, vollständig ohne Zeit- oder sonstigen Beschränkungsoptionen
    [**]KT:Future 1min, 9 bis 1725Uhr ... immer aus den Einzeltiteln aufgebaut
    [**]KT:Future Tickbasis, 9 bis 1725Uhr
    [**]KT:Future 1min, 8 bis 1725Uhr, mit festen Kontraktwechselzeitpunkt
    [**]KT:Future Tickbasis, 8 bis 1725Uhr, mit festen Kontraktwechselzeitpunkt
    [**]KT:Future 1min, 8 bis 1725Uhr, mit festen Kontraktwechselzeitpunkt + realeKurse(keine Justierung bei Kontraktwechsel)
    [**]KT:Future Tickbasis, 8 bis 1725Uhr, mit festen Kontraktwechselzeitpunkt + realeKurse(keine Justierung bei Kontraktwechsel)


Man muss sich am Anfang einen Syntax überlegen, wie man alle diese verschiedenen Varianten ganz kurz und knapp bezeichen kann, z.B. hänge ich am Ende ein "_a" an für ask-Kursreihen und "_b"... für bid-Kursreihen.

Viele Grüße,
Sten

PS:
Leider gab es die Vererbungsmöglichkeit bei den Kurstitel (eine super Idee!!!) nicht von Anfang an und ich habe bis jetzt den Aufwand gescheut darauf umzustellen (d.h. ich muss die ganzen alten Projekte dann darauf anpassen).
Wenn man heute mit Investox startet, dann unbedingt verwenden, weil das spart 4x im Jahr wirklich eine Menge Zeit !!!

PS2:
Ich glaube heute würde ich mir die Zeit für die Aufzeichnung von Future-Kursen sparen, weil bei einem kleinen Depot sind Future-HS zu riskant, weil die Verluste zu große Löcher reinhauen. Da reicht die Aufzeichnung der IB-Forex- und IB-CFD-Kurse aus und man hat noch den Vorteil, dass es keine Kontraktwechsel gibt und die Kurse kostenfrei sind (allerdings muss man die nicht unwesentlichen Stromkosten, für die permanente Präsenz die für die Aufzeichnung notwendig ist, berücksichtigen).

PS3:
HS auf 1min-Vorkomprimierten- und TickByTick-Zeireihen sollten sich bei z.B. >=15min Kerzenchart-HS nicht all zu sehr unterscheiden. Das kann aber bei nichtlinieraen Komprimierungen anders sein, z.B. bei Spannencharts, Renko oder P&F, usw. Das sollte man noch im Hinterkopf behalten, wenn man auf 1min-vorkomprimierten Kursreihen entwickelt...

Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von »sten« (28. April 2014, 12:00)


Nicola Männlich

Fortgeschrittener

Registrierungsdatum: 11. November 2008

Beiträge: 129

6

Montag, 27. Februar 2017, 14:15

Kurze Frage zur Vererbung:

Wenn ich in den RTT-Titeln direkt Angaben zu
- Minimaler Preisdifferenz
- Tickversatz, Zeitkorrektur
- Intraday Import begrenzen
- Daten Filtern
mache, werden diese Angaben in KT's dann vererbt? Also muss ich für die ganzen Currencies in einem KT bspw. die minimale Preisdifferenz nochmals angeben, oder ist es ausreichend, wenn diese im RTT-Master-Titel eingetragen wurde?

Wenn die Einstellungen dazu im RTT-Titel ausreichen müssen folglich in dem KT nur noch bestimmt werden ob alle Kurse oder nur OHL-Kurse zur Komprimierung und evtl. alternative Titel verwendet werden sollen. Die restlichen Angaben könnte man somit für alle KT's im RTT-Titel vorgeben. Das würde mir zumindest ne Menge Arbeit ersparen.... :thumbsup:

Grüße!

Bernd

Erleuchteter

Registrierungsdatum: 5. Juni 2005

Beiträge: 3 801

Wohnort: Iringsweg

7

Dienstag, 28. Februar 2017, 00:36

Hallo Nicola

Ähem, die Idee aus den Anfangszeiten dieses Threads macht nur anderst herum einen Sinn. Laden aller Roh-Daten ohne Filter und sonstigem Tinnef. Dann darauf Einschränkungen aufbauen mit verschachtelten KT's. Hierarchie also, von oben nach unten.

Jedenfalls war dies das Konzept aus meinem Beitrag von Sonntag, 27. April 2014, 16:17.

Warum sollte man schon auf der Ebene des untersten Fuss-Soldaten (RTT) Informationen vor-filtern?

Besser scheint mir, man zeichnet erstmal alles auf. Einschränken und ergänzen kann man dann auf den höheren Stufen, so bleibt man flexibel, weil alle Daten grundsätzlich da sind.
Gruss
Bernd

-----------------------------------------------
http://www.13quants.ch

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »Bernd« (28. Februar 2017, 08:36)


Nicola Männlich

Fortgeschrittener

Registrierungsdatum: 11. November 2008

Beiträge: 129

8

Dienstag, 28. Februar 2017, 13:07

Hi Bernd!!

Ja, hatte dein Konzept verstanden. Habe mir eben nur zusätzlich die Frage gestellt, ob Vererbung, wenn keine Angaben im KT gemacht werden, stattfindet. Praktisch wäre das nunmal bspw. bei der Preisdifferenz, da diese bspw. sich ja nicht ändert für alle nachfolgenden KT.
Wenn das Verhalten so wäre im KT: Wenn in KT Einstellungen definiert, dann nutze diese. Wenn keine Einstellungen definiert, dann nutze die aus RTT-Titel.

Ich überlege gerade aber, dass das wahrscheinlich gar nicht so geht. Im KT sind ja mehrere RTT enthalten evtl., die nicht unbedingt die selben RTT Einstellungen haben. Folglich nehme ich mal an, dass was ich mir mit Vererbung überlegt habe so gar nicht möglich ist.

Bis Investox-Meister Knöpfel sich nicht dazu äußert, gehe ich jetzt davon aus, dass nur das zählt was letztendlich im KT angegeben ist.

Grüße an alle!

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 538

9

Dienstag, 28. Februar 2017, 13:45

Hallo,

>>gehe ich jetzt davon aus, dass nur das zählt was letztendlich im KT angegeben ist

das ist richtig. Wobei eine Beschränkung der Importzeit im RTT-Titel wirksam ist, auch wenn er im Kombi-Titel verwendet wird (von einer Einstellung dort diesbezüglich allerdings "überschrieben" werden kann).

Viele Grüße
Andreas Knöpfel