Jump to content
bond

Börsensoftware unter der GPL

Recommended Posts

bond
Posted

Hallo,

 

wem ist das nicht bekannt? Man würde gern seine Strategie in einem Backtesting testen, man wünscht sich ein Programm, in dem man seine Orders tätigen kann. Noch besser wäre eine automatische Order-Ausführung. Oder wie schauts mit dem Entwickeln von neuen Strategien aus? Habe ich überhaupt eine Chance mit meiner Strategie?

 

Die Lösung ist in den leider viel zu teuren Börsenprogrammen versteckt. Beispiele:

 

- Metastock: 400 - 6.700

- Tradestation: 2.000 - 2.300

- ProSuite: 4.000

 

Die deutsche Hoffnung Tradesignal Enterprise gibts monatlich ab 14,90 - das sind im Jahr auch gut 180 .

 

-----

 

Was liegt also näher als eine Open-Source-Alternative zu entwickeln. Dafür gibts bereits viele Ansätze, aber entweder ist die Bedienung zu kompliziert oder der Funktionsumfang reicht nicht mal annähernd an die kommerziellen Lösungen heran. Ein anderer entscheidener Punkt ist die Dokumentation. Diese ist bei Open-Source-Ansätzen nicht immer ausreichend vorhanden.

 

-----

 

Ich selbst habe bisher schon mehrere Vorstöße in diese Richtung unternommen. Allerdings ist die offene (Open-Source / GPL-Lizenz) Programmierung um einiges sinnvoller:

 

- Quellcode kann von allen Beteiligten gegengelesen werden (Fehler-Reduktion)

- Anforderungen können durch den Einfluss von mehreren Meinungen besser abstrahiert werden.

- Das System ist schließlich frei verfügbar, wodurch auch von Unbeteiligten Verbesserungen vorgenommen und der Gemeinschaft zur Verfügung gestellt werden können

 

-----

 

Konkret gesucht: Java-Programmierer, die sich vorstellen könnten, an diesem Projekt mitzuarbeiten.

 

Grobe Anforderungsplanung:

- Charting (Line, Bar, Candle etc. - erweiterbar durch Plugins)

- Simulation (Backtesting, Forwardtesting, Simulated Trading (man handelt live mit einem simulierten Konto) etc.)

- Scripting-Sprache (Zur Entwicklung von eigenen Handelssystemen und Indikatoren)

- Universelle Datenanbindung (einheitliches Interface mit Ansteuerungsmöglichkeiten an Datenlieferanten (von Yahoo bis hin zu Reuters) und an Broker (zur Abwicklung von Orders und Empfang von Daten (z.B. Markttiefe - mögliche Broker: Interactive Brokers... etc.)

- Lokale Speicherung von Daten in a) einer Datenbank b) einer selbst entwickelten Speicherlösung -- die solidere Variante davon wäre A

 

-----

 

Bei Fragen, Interesse, Anregungen, konstruktiver Kritik: einfach antworten!

Share this post


Link to post
cyansky
Posted

Hallo Bond,

 

netter Vorschlag!

 

Habe ja selbst auch schon häufig über so etwas nachgedacht. Das Problem aber, und darin versteckt sich letztendlich der Preis, ist doch vor allem die Anbindung an einen Kurslieferanten.

 

Hast du diesbezüglich bereits Anbieter?

 

Liebe Grüße, und schwitzendes äh schönes Wochenende,

CyanSky *schwitz*

Share this post


Link to post
bond
Posted

Kursanbindung ist eine Sache, die von den Synergieeffekten der verteilten Entwicklung profitieren könnte.

 

Die Datenanbindung ist generell gesehen schwierig, aber machbar. Schwierig z.B. bei Reuters und bei Bloomberg. Andererseits muss man an diesem Punkt bedenken, dass jemand, der kein Geld für teure Börsensoftware ausgeben will wohl auch keine teuren Feeds von Bloomberg/Reuters benötigt.

 

Insofern ist zunächst eine Fokussierung auf den Consumer-Bereich sinnvoll. Das heißt im Endeffekt: EOD-Daten von diversen Anbietern (Yahoo) und Realtime-Daten von eSignal, Interactive Brokers, IQFeed, evtl. auch BIS

 

Zusammenfassend würde ich die Anbindungen zunächst auf Yahoo und Interactive Brokers konzentrieren. Yahoo ist für private Anleger im EOD-Bereich ganz sinnvoll und Interactive Brokers lädt zu automatischen Handelssystemen und Real-Time-Daten ein (für etwas professionellere Leute). Wer das ganze noch professioneller betreibt (Reuters, Bloomberg als Feed und Abwicklung der Orders über Broker wie Sino), der benötigt einfach keine Open-Source-Lösung -- wobei man eine spätere Entwicklung in diese Richtung dadurch nicht unbedingt ausschließen muss.

 

Eine weitere Alternative wäre übrigens HTTP-Parsing. Allerdings würde das etwas Entwicklungsarbeit kosten (Stabilität, Sicherheit etc.). Mit dem Parsing könnte man über HTTP mit allen Brokern wie Consors, Comdirect, Stocknet etc. kommunizieren. Im Endeffekt nichts anderes, als wenn man selbst die Handelsoberfläche bedient - ist dann eben automatisiert.

Share this post


Link to post
cyansky
Posted

Hallo Bond, ich sehe, du bist da schon tiefer drin in der Materie.

 

Bei Yahoo bekommst du nicht nur EOD-Daten, sondern auch 15-min-zeitverzögerte Intraday-Daten.

Die anderen Anbieter schau ich mir mal an.

 

BTW: deine Idee kreuzt sich irgendwo mit meiner, wenn auch im Detail verschieden.

 

Andererseits wollte ich meine Idee teilweise kommerziell anbieten, sozusagen für Extra-Services. Und nicht etwa via reine Java-Applikation, sondern als Web-Anwendung.

Unter Umständen könnte man Synergien binden.

 

Ich werde mich hierzu aber erstmal mit dir via P.M. auseinandersetzen.

Dies aber nicht mehr heute, da ich gleich außer Haus bin....

 

 

Schönes WE

CyanSky

Share this post


Link to post
LeChuck
Posted

Eigentlich hätte ich schon Lust, hab mich allerdings noch nicht ernsthaft mit Java auseinander gesetzt, weiss auch nicht ob ich dafür im Moment Zeit aufbringen kann/möchte, und das nicht nur wegen Sommer. Bei C/C++, PHP wär ich allerdings sofort dabei.

Share this post


Link to post
bond
Posted

@LeChuck: Mit der Sprachenproblematik hast Du eine wichtige Frage in den Raum gestellt. Da einige Interfaces keinen Java-Support bieten, muss ein Umweg über eine andere Sprache genommen werden. Die Frage dabei ist, wie man so etwas implementieren kann. Habe dabei zunächst an eine Mini-Server-Applikation gedacht - in .NET geschrieben deckt diese mehrere Sprachen gleichzeitig ab. Zum einen die .NET-Technologie, dann ganz wichtig C und C++ über Managed Wrapper auf Unmanaged Code.

 

Problematik hierbei: Durch zwei gleichzeitig laufende Virtual Machines (Java UND .NET) steigen die Anforderungen an Software (beides muss installiert sein) und die Anforderungen an den Computer (vorallem der RAM ist davon betroffen).

Share this post


Link to post
LeChuck
Posted

Wie gesagt, mit C/C++ kann ich sofort Code beitragen, Java müsste ich erst lernen, dauert bestimmt 3-6 Monate um damit arbeiten zu können. Ob ich aktuell die Energie dazu aufbringen kann ist so ne Sache, hab zur Zeit ein sehr turbulentes Leben und bereite mich auch noch aufs Musikstudium vor. Programmiere trotzdem gerne; und finde so ein Projekt interessant.

 

Allerdings sprichst du ein weiteres Problem mit .NET an, die Platform. Ich benutze Frauencomputer (Mac) und Amiga (Linux/AmigaOS). Deswegen geht eigenlich nur Java oder C/C++, von einer Webanwendung mal abgesehen, was durch diese Platformproblematik allerdings wieder interessant wird.

 

Die Kurse von anderen Seiten zu klauen sollte doch vorerst reichen. Was besseres kann man immer noch machen wenn man gesponsort wird.

Share this post


Link to post
Sheridan
Posted

Hallo,

 

da ich auch nach eine günstigen Software für den Privatanwender suche (meine Ambitionen gehen in Richtung Optionsscheine), habe ich auch schon an eine eigene Lösung gedacht.

 

An ein parsen der HTML Daten habe ich auch schon gedacht, aber hier stellt sich vielleicht die Frage mit dem Copyright. Ich denke in diesem Bereich wird es auch so etwas geben. Nicht umsonst gibt es Anbieter wie Reuters.

 

Yahoo wird wahrscheinlich auch von so einem Anbieter die Daten bekommen, nur das ganze über Werbung finanzieren.

 

Habe mich mit dem rechtlichen Teil der Datenbeschaffung noch nicht beschäftigt, da das ganze noch Neuland für mich ist, aber das sind meine Bedenken daz.

 

Aber prinzipiell bin ich auch für eine GPL Lösung.

 

Meine Idee ist eher Datensharing: Die Entwickler kaufen ein Abo und wenn das rechtlich geht, werden die Kosten dafür aufgeteilt. Ich denke, jeder Privatanwender ist bereit 1 pro Monat zu zahlen. D.h wir sind sozusagen auch Dienstanbiete und die eingespielten Kosten finazieren Support, etc.

 

P.S. Ich kenne mich gut mit VB.NET und C++ aus.

Also, wenn an eine Windowsapplikation gedacht ist, ein bisschen könnte ich auch übernehmen. Lt. meinen Kollegen kann ich ansprechende Oberflächen programmieren.

 

LG,

Georg!

Share this post


Link to post
LeChuck
Posted
Die Entwickler kaufen ein Abo und wenn das rechtlich geht, werden die Kosten dafür aufgeteilt.

Ich denke mal, für den anfang reicht HTML Parsing. Dauert ja etwas bis so ein Programm halbwegs funktioniert. Ein Interface zu Bloomberg und so kann dann leicht implementiert werden, wofür sich anfällige Kosten sicherlich geteilt werden können.

 

Aber mal ne andere Frage: wie präzise kann man denn auf historische Kurse (also min. 5 Jahre) zurückgreifen? Und von welchen Kosten würdet ihr ausgehen?

Share this post


Link to post
cyansky
Posted

Hi,

 

insofern man keinen Zugriff auf eine Datenbank hat, in der man Kurse zu allmöglichen Papieren zu jedweder Zeit abfragen kann, bleibt nichts anderes übrig, als selbst eine solche Datenbank zu erschaffen.

Der Server müßte hiermit minütlich die Kurse aller Daten abfragen und in der Datenbank ablegen.

Da dies eine enorme Last bedeutet, könnte man überlegen, das IntervALL von einer Minute auf 5 Minuten oder 10 Minuten zu erhöhen.

 

Aber dann hat man auch endlich historische Kurse und kann darauf hin die Teczhnik walten lassen...

 

Liebe Grüße, CanSky

Share this post


Link to post
ramming
Posted

Hallo Jungs,

bin zwar auch Programmierer, aber in keiner der von euch erwähnten Sprachen.

Bin auf der Suche nach einem Prog hier gelandet. Vorher habe ich berreits einiges gefunden. Daher ein paar Bemerkungen zum Thema Datenbeschaffung. Zum einen stiess ich auf ein Programm namens "GetQuotes", das per Parameter Kurse in eine TXT-Datei ablegt (zu finden hier : http://www.getquotes.de.vu/). Da mir das aber zu fummelig war, suvchte ich weiter und stiess auf DepotProfi (zu finden hier : http://zerus.net/index.php?quotecompiler). Das Tool ist Freeware und wird mit einem Forum gut betreut. Hier ist die Datenbeschaffung aus mehreren Quellen konfigurierbar, u.a. von Yahoo, Finanztreff, Consors und einigen KAGs. Bin in die Technik nicht zu sehr eingestiegen, aber vielleicht interessiert es euch. Da das Tool nix kostet, und ebenso die Kursaktualisierungen, wär's doch mal einen Blick wert.

 

Gruss

Kai

 

PS : Würde mich als Beta-Tester eures Projektes anbieten *grins*

Share this post


Link to post
Morbo
Posted · Edited by Morbo

Hallo,

 

bin gerade so ueber diesen thread gestolpert: zu dem Kurse downloaden Problem kenne ich diese Antwort: Finance::Quote (falls jemand GNUcash kennt: FQ hat sich davon abgespalten und arbeitet sozusagen hinter der GUI)

 

FQ macht im Endeffekt genau was ihr diskutiert wird: HTML und {C|T}SV parsen. Es kennt jede Menge Kursquellen. Alle sind als Modul enthalten und werden von unterschiedlichen Autoren gepflegt. Es gibt nicht nur Yahoo, sondern auch viele Fonts und Dinge wie VWD.

 

Technisch gesehen eignet es sich sehr gut um ein seperates Programm zu bauen, was irgendwo im Hintergrund laeuft und die Datenbank des eigentlichen Programms fuettert.

Share this post


Link to post
Taggert
Posted

Hi,

ich bin gerade über diesen Thread gestolpert. Ich will eine kleine Java-App schreiben, mit der man eine Chartanalyse durchführen kann. Bisher ist das ganze noch in Planung, aber wenn Ihr Euer Programm modular aufbauen wollt, dann gebt mir eine Schnittstellenspezifikation durch und ich schreibe keine Einzelanwendung, sonder ein Modul für Euer Projekt.

Schönen Gruß

Euer Taggert

Share this post


Link to post
bond
Posted
Hi,

ich bin gerade über diesen Thread gestolpert. Ich will eine kleine Java-App schreiben, mit der man eine Chartanalyse durchführen kann. Bisher ist das ganze noch in Planung, aber wenn Ihr Euer Programm modular aufbauen wollt, dann gebt mir eine Schnittstellenspezifikation durch und ich schreibe keine Einzelanwendung, sonder ein Modul für Euer Projekt.

Schönen Gruß

Euer Taggert

 

Also wenn hier keiner was programmiert hat, gibt es nichts. Ich hab aus Zeitgründen das Projekt erstmal auf Eis gelegt.

Share this post


Link to post
Taggert
Posted

Dann werd ich mir halt selber was nettes bauen :w00t:

 

Sollte es irgendwann mal den Status einer Beta überwinden, werde ich es Euch zur Verfügung stellen.

 

Aber wenn Ihr mal was machen wollt, dann schreibt was im Forum - ich bin auf jeden Fall dabei.

 

Gruß Tag

Share this post


Link to post
qde
Posted

hi jungs.

zum erstellen von charts unter java, setzt euch mal mit JFreeChart ausseinander. das ist ganz nett. ich habe schon einige jahre erfahrungen in java und überlege auch grade ein programm in diese richtung zu schreiben.

Share this post


Link to post
Teletrabbi
Posted

Zum Thema Kursversorgung: Ich hatte mal ne Software, die Kurse aus dem Videotext ziehen konnte (TV-karte vorrausgesetzt). Im Videotext von N-TV gibt es glaube ich Realtime-Kurse von einigen Werten.

Der Börsenagent heißt die Software: http://www.amazon.de/exec/obidos/ASIN/3815...9643814-9695258

Die Kurse kann man dann exportieren und anderen als Download zur Verfügung stellen.

Share this post


Link to post
pvdb
Posted

ich denke das realtimekurse für eigene anwendungen nicht so interessant sind, da eine realtime verarbeitung großer datenmengen doch ziemlich schwer ist, mit ausname man beschränkt sich nur auf bestimmte werte. realtimes kann man ansonsten noch mit hilfe von zertifikaten zu bestimmten werden abfragen. gekaufte daten kommen für alle von uns wohl nicht in frage :) im notfall helfen vielleicht die realtimes der stuttgarter börse, bzw. von lang & schwarz.

 

meine datenbank liest z.b. jeden börsentag die schlussinformationen von dax, sdax, mdax und tecdax werten (wollte ursprünglich alle xetra werte einlesen, aber das wäre etwas zu viel :) ). das gleiche mit den news. historische kurse wurden ebenfalls einmalig eingelesen.

 

mein system besteht bisher hauptsächlich aus php + mysql + cronjobs. ggf. später mal ne windows desktop anwendung.

 

hätte aber auch mal interesse mit einigen die auch solche anwendungen bauen, mal im icq oder msn auszutauschen.

 

phil

Share this post


Link to post
Limit
Posted

Hi,

 

ich weiß, das ist ein sehr alter Thread, aber ich wollte mal fragen, ob sich irgendwas hieraus entwickelt hat? Ich bastle nämlich selbst an so einer Software und hab auch schon ein paar Sachen implementiert (z.B. das Holen von Kursen von einer Webseite). Allerdings benutze ich nicht Java oder .NET, sondern Python, was aber auch plattformunabhängig verfügbar ist.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...