1. Home - shareholder r/2 börsensoftware
Transcription
1. Home - shareholder r/2 börsensoftware
1. Home . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Schnelleinstieg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.1 Arbeit mit der Hilfe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.2 Grundbedienung und Grundaufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.3 Unterschiede Profi- und Standardversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Zukunft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Releasemanagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1.1 Major-Releases auf Jahresebene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1.1.1 Modul-Releases R2.8.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1.1.2 Modul-Releases R2.9.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1.2 Qualitätssicherung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.2 Support und Ticketsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.3 Versus Shareholder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Depotmanagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 Kontenverwaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.2 Transaktionseingaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.3 Transaktionsliste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.4 Moneymanagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.5 Auswertungsgrafiken - und Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.6 Berichte und Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.6.1 Eigene Berichte und Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.6.2 Webseiten-Berichte-Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.7 Sparpläne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.8 Stopp-Kurs-Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.9 Import und Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.9.1 Consors Trading API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.9.2 Depot-Export in CSV-Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.9.3 Depot-Import aus CSV-Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.9.4 FXCM (FXConnect API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.9.5 IG Markets - REST Trading API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.9.6 Import aus Daten vom IgMarket-CFD-Trading-Konto (www.igmarkets.com) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.9.7 Import aus Flatex-Export-CSV-Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.9.8 Import myFXCM - Kontoauszüge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Kursaktualisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.1 Im- und Exporte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.2 Internetaktualisierungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.2.1 Beispiel anhand von Google für die Definition von Internetaktualisierungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.2.2 Beispiel der Einstellungen für die Aktualisierung von AMD und AIR-Berlin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.2.3 Konfigurationsmöglichkeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.2.4 Kundenbeispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.2.5 Prüfung von vorhandenen Aktualisierungs-Gruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.3 Tai-Pan® Realtime (RT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.4 Tai-Pan® X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 Aktienanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.1 Markt - und Kurslisten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.1.1 Indikatorenlisten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.2 Watchlisten bzw. Beobachtungslisten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.3 Chartgallery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.4 Newsticker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.5 Titel-Newsbrowser (Online-Panel) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.6 Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.6.1 Indikatorenpannel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.7 Candlestickformationserkennung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.8 Neuronale Netze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.8.1 Quick-Guide NN - Nutzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.9 Filtersystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.9.1 Einfache Beispiel-Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.9.2 Indikatoren-Funktionen in Filtern nutzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.9.3 Reguläre Expressions für Text-Stammdaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.10 Handelssystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.10.1 Automatisches Handelssystem fuer Chartindikatoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11 Technische Indikatoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.1 Candlesticks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.1.1 Indikator - Candlestickformationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.2 Momentum-Oszillatoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.2.1 Indikator - RSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.2.2 Indikator - Stochastik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.2.3 Indikator - Chaikin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.2.4 Indikator - Double Smoothed Stochastik "DsSt" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.2.5 Indikator - Momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.2.6 Indikator - Coppock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.2.7 Indikator - Money Flow Index "MFI" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 6 8 10 11 12 12 13 18 20 21 22 23 29 30 36 38 41 47 48 51 52 52 57 58 60 61 62 66 67 71 72 75 76 79 87 87 88 89 94 95 96 97 98 101 103 105 106 106 107 111 113 115 141 148 155 157 159 165 167 171 177 179 179 179 180 180 181 181 182 182 1.5.11.2.8 Indikator - Price and Volume Trend "PVT" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.2.9 Indikator - RSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.3 Trendbestimmungsindikatoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.3.1 Indikator - MA - Gleitende Durchschnitte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.3.2 Indikator - Bollinger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.3.3 Indikator - Random Walk Index "RWI" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.3.4 Indikator - AROON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.3.5 Indikator - TRWinkel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.3.6 Indikator - Dynamic Momentum Index "DMI" und "ADX" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.3.7 Indikator - RAVI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.4 Trendfolger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.4.1 Indikator - Parabolic SAR "PSAR" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.4.2 Indikator - MACD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.4.3 Indikator - TRIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.4.4 Indikator - Commodity Channel Index "CCI" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.4.5 Indikator - RMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.4.6 Indikator - Polized Fractal Efficiency "PFE" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.4.7 Indikator - Time Series Forecast "TSF" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.4.8 Indikator - NewHigh - NewLow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.5 Umsatzindikatoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.5.1 Indikator - ForceIndex "FI" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.5.2 Indikator - On Balance Volume "OBV" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.5.3 Indikator - Volume Price Trend "VPT" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.5.4 Indikator - Negative Volume Index "NVI" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.5.5 Indikator - Positive Volume Index "PVI" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.5.6 Indikator - Volume Rate Of Change "VROC" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.6 Volatilität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.6.1 Indikator - Standardabweichung "S" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.6.2 Indikator - 6-100 Historische Volatilität - "HistVol" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.6.3 Indikator - Vertical Horizontal Filter "VHF" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.6.4 Indikator - Volatilät der True Range "Wilder (Volatilität)" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.6.5 Indikator - Notis %V - "VolumeNotisV" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.7 Neuronales Netz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.7.1 Indikator - NNKorrelation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.11.7.2 Indikator - NNPrognose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.12 Genetische Algorithmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.13 Marktanalyse - Oracle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6 Stammdaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.1 Aktiensplitts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.2 Autoimport von Stammdaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.3 Automatischer Import von Börse-Online-Statistiken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.4 Datenformatbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.5 Fundamentaldaten+ Integration neuer Möglichkeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.6 Massenoperationen und Datenmanagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.7 Titelanlage für Aktie, Fonds, Zertifikat usw. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.7.1 Beispiel Anlage X-Endlos Turbo Optionsschein DE000TBX0MT2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.7.2 Titelanlage in Fremdwährung (z.B. US$) und Nutzung in der Hauptwährung (€) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.7.3 Titelanlage und Management für CFDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.8 Titelstammdaten und Märkte importieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.9 Unternehmensbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7 Einstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7.1 Automatische JOB-Ausführung (Auto-Execute-Möglichkeiten) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7.2 Börsen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7.3 Entscheidungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7.4 FXCM - Broker - Schnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7.5 Indikatoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7.6 Internetadressen - und Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7.7 Internet - Importformate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7.8 Layoutanpassungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7.9 Markteinstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7.10 Programmfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7.11 Sonstige Programmfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7.12 Transaktionsbewertungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8 Installation und Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8.1 Arbeiten unter Apple - Macintosh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8.2 Arbeiten unter Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8.3 Nutzung der Tai-Pan-Database-Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8.4 Nutzung Netzlaufwerk für gemeinsame Datenablage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8.5 Sicherung und Wiederherstellung (Backup und Recovery) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8.5.1 Videotutorial Backup-Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8.6 Tuning-Möglichkeiten und deren Auswirkungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8.7 Verwendung der aktuellsten Programmversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 183 183 183 183 183 184 184 184 185 185 185 186 186 187 187 188 188 188 188 189 189 190 190 191 191 191 192 192 192 193 193 194 194 194 194 198 200 205 206 209 210 212 217 219 221 224 229 230 233 234 234 236 236 236 237 237 237 237 237 237 239 239 239 240 243 243 245 248 251 1.9 Anlagestrategien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.9.1 Anlagestrategie - Long und Short - Technisches System mit Fundamentaler Pivotunterstützung . . . . . . . . . . . . . . . . . . . . . 1.10 Social-Trading-Bridge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.11 Produktanforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.12 Scripting-Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.12.1 Scripting für Indikatoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.12.2 Scripting für Stammdaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.12.3 Scripting - Logbuchnutzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.12.4 Scripting-Studio und Bedienung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.13 Fehlerbehebungsartikel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.13.1 ( VWDSYMBOL ) lässt sich weder statisch noch dynamisch auflösen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.13.2 Break Even Point - Berechnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.13.3 Fehlerhafte Kursdatenanzeige für ein Titel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.13.4 Marktdaten z.B.DAX, MDAX nicht mehr korrekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.13.5 Scheinbar fehlerhafte Depotsummen (absolut&relativ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Home Hilfe für die Börsensoftware Onlinehilfe für http://www.shareholder24.de Sie befinden sich in der Online-Hilfe der Börsensoftware "Shareholder R/2". Sie finden nachfolgend alle wichtigen Informationen, Anleitungen und Hintergründe zur Bedienung von Shareholder. Bitte nutzen Sie vor allem das linke Inhaltsverzeichnis zur Navigation und das obere rechte Suchfeld, um schnell Informationen zu finden! Die Hilfe wird von mir permanent erweitert und mit aktuellen Entwicklungen ergänzt. Gerne geben Sie mir aber auch Feedback, wenn Informationen unzureichend oder unklar dargestellt sind. Urheberrechte In der Hilfe werden urheberrechtlich geschützte Markennamen verwendet. Nachfolgend sind nach besten Wissen die Markennamen genannt in der Hoffnung aufgrund der Anzahl der Seiten und meiner alleinigen Arbeit keinen Namen übersehen zu haben. Dax® ist ein eingetragenes Warenzeichen der Deutschen Börse AG. Delphi® ist ein eingetragene Warenzeichen der Embarcadero Technologies, Inc. Tai-Pan® ist ein eingetragenes Warenzeichen der Lenz + Partner AG, Dortmund Börse Online edition® ist ein eingetragenes Warenzeichen von Gruner + Jahr AG & Co KG, Hamburg Optimale Nutzung der Hilfe Sie haben verschiedene Möglichkeiten die Hilfe optimal zu nutzen. Zunächst ist die Frage, ob Sie Ihre Frage formulieren können. Wenn ja, dann sollten Sie zunächst die Suche oben rechts über das Eingabefeld nutzen. Die Eingabe wird hier immer mit <Enter> abgeschlossen. Sollten Sie sich in eine komplette Thematik einarbeiten wollen, so haben Sie über den linken Bereich die Möglichkeit, auf die Strukur der Hilfeinformationen zuzugreifen. Klicken Sie sich hier thematisch durch die Inhalte. Unter Inhaltsverzeichnis finden sich zusätzlich von der aktuellen Seite das Inhaltsverzeichnis (nur 1. Überschriftenebene). Da es unmöglich ist, alle Fragen immer mit Inhalte zu füllen, schreiben Sie mir gerne eine EMail, sollten Sie weitere Erklärungen benötigen: [email protected]. Vielen Dank! Schnelleinstieg Zieldarstellung Die folgenden Hilfestellungen sollen Ihnen einen absoluten Schnelleinstieg in Shareholder erlauben, um Basisarbeiten zu machen. Für besondere Details nutzen Sie bitte die Detaillinks. Ger ne kommentieren Sie diese Seite, um Anregungen für eine noch übersichtlichere Darstellung zu geben. Folgendes Szenario soll möglichst schnell dargestellt werden: 1. Neues Depot 2. Es wird ein Comdirect-Konto genutzt mit ca. 20.000€ Cash 3. Auf dem Konto werden 3. Transaktionen durchgeführt, a. wobei 1 Fonds-Titel gekauft wird, der exotisch ist und neu angelegt werden muss 4. Eine Depot-Entwicklung soll sichtbar gemacht werden (1) Schritt: Neues Depot Legen Sie zunächst über das Hauptmenü Depot / Neu ein neues Depot an. Der Name hierfür ist frei wählbar. Sofern Sie mit "Speichern" bestätigt haben, bekommen Sie ein leeres Depot angezeigt. Weitere Details unter: Neues Depot (2) Schritt: Konto angelegen Klicken Sie auf die obere Toolbar im Reiter "Trading" / "Konten", wechseln dort auf den Eintrag "Comdirect" und tragen hier Ihren Cashwert unter "Kontostand" ein. Die Kontonummer und die BLZ sind optional. Weitere Details unter: Kontenverwaltung (3) Schritt: Käufe und Verkäufe durchführen Klicken Sie wieder auf die obere Toolbar im Reiter "Trading" / "Kaufen". Tragen Sie hier unter Titel den gewünschten Titel ein z.B. Deutsche Bank und schließen dies mit <Enter> ab. Alternativ hätten sie auch einfach innerhalb einer vorhandenen Watchliste/ Marktliste den Titel selektieren können und dort mit dem Kontextmenü (r.M.) den Menüpunkt "Kaufen..." wählen können, womit die manuelle Suche überflüssig geworden wäre. Danach tragen Sie den Kurs und die Stückzahl an. Die Themen rund ums Money-Management sollten Sie für den Schnelleinstieg erstmal ignorieren und am besten spielerisch erkunden, zusammen mit der Hilfe. Weitere Details unter: Transaktionseingaben Transaktionsliste (4) Schritt: Transaktionen zu einem bisher nicht vorhandenen Titel Gehen Sie hier zunächst aus dem "Kaufendialog" heraus, falls Sie hier noch unterwegs sind. Danach gehen Sie über das Hauptmenü in die Marktlisten bzw. direkt mit <F8>. Hier sollten Sie zunächst über die ISIN oder den Titelnamen nach dem gewünschten Titel suchen. Sollte dieser nicht aufzufinden sein, so können Sie manuell einen Titel hinterlegen. Wählen Sie hierzu oben im Reiter "Titelverwaltung" den Punkt "Titel anlegen". Hier sollten Sie im nun geöffneten Dialog im Minimum einen Namen und eine ISIN hinterlegen und die Marktzuordnung prüfen bzw. nachtragen über die Checkboxen. Alles andere ist zunächst optional. Für Optionsscheine vergessen Sie bitte nicht den Basistitel, die Knockout-Schwelle und den Basispreis zu hinterlegen, da sonst einige automatische Umrechnungen nicht korrekt funktionieren im Money-Management. Weitere Details unter: Titelanlage für Aktie, Fonds, Zertifikat usw. Titelstammdaten und Märkte importieren (5) Schritt: Kursdaten aktualisieren Schließen Sie soweit offen, alle Dialogfenster und wechseln in die Depotansicht. In der Toolbar finden Sie im Reiter "Trading" den Punkt "Historische / Internet". Diesen nutzen Sie, um alle Werte in der aktuellen Ansicht (Depotansicht sollte geöffnet sein) zu aktualisieren inkl. der eingestellten 2 Statusleisten-Werte (Unten Links, Unten Rechts). "Historische Aktualisierung" der Kursdaten ist nur notwendig, wenn hier tatsächlich die Historie benötigt wird bwz. wie nachfolgend gewünscht eine historische Depotentwicklung. Andernfalls reicht auch der Punkt "Tagesdaten / Internet". Sollten Sie Tai-Pan haben, gilt das gleiche übertragend. Weitere Details unter: Kursaktualisierung Tai-Pan® X (6) Schritt: Depot-Entwicklung soll grafisch dargestellt werden Von hier aus können Sie direkt unter "Depotcharts" die aktuelle Depotentwicklung prüfen. Innerhalb der oberen Toolbar können Sie zusätzliche Parameter einstellen. Weitere Details unter: Auswertungsgrafiken - und Matrizen Arbeit mit der Hilfe Aktualität der Dokumentation Die Hilfe hat zurzeit einen Stand von der Version 2.10.2 und damit vom Februar 2010. Die Hilfe werde ich nun mit Hilfe der WIKI-Umgebung und eventl. mit Ihrer Hilfe fortwährend aktualisieren. Die Online-WIKI-Dokumentation ist so immer der Einstieg. PDF-Dateien als Auszug wird es zusätzlich in unregelmäßigen Abständen geben als Abzug aus dem aktuellen WIKI-Stand. Auf der Startseite im Dashboard können Sie rechts jederzeit sehen, welche Seite zuletzt verändert worden sind. Zudem stehen Ihnen oberhalb jeder Seite Versionsinformationen zur Verfügung. Letzte Änderungen Zuletzt aktualisiert PMM-NG Apr 21, 2015 • aktualisiert von Jens Werschmoeller • Änderung anzeigen Zukunft Apr 19, 2015 • aktualisiert von Jens Werschmoeller • Änderung anzeigen Stopp-Kurs-Management Apr 13, 2015 • aktualisiert von Jens Werschmoeller • Änderung anzeigen Moneymanagement Apr 13, 2015 • aktualisiert von Jens Werschmoeller • Änderung anzeigen AcceptModified.png Apr 11, 2015 • angehängt von Jens Werschmoeller AcceptModified Apr 11, 2015 • angehängt von Jens Werschmoeller Installation und Backup Mrz 17, 2015 • aktualisiert von Jens Werschmoeller • Änderung anzeigen Nutzung der Tai-Pan-Database-Engine Mrz 15, 2015 • aktualisiert von Jens Werschmoeller • Änderung anzeigen Break Even Point - Berechnung Mrz 15, 2015 • aktualisiert von Jens Werschmoeller • Änderung anzeigen Versus Shareholder Mrz 15, 2015 • aktualisiert von Jens Werschmoeller • Änderung anzeigen Watchlisten bzw. Beobachtungslisten Mrz 14, 2015 • aktualisiert von Jens Werschmoeller • Änderung anzeigen ( VWDSYMBOL ) lässt sich weder statisch noch dynamisch auflösen Feb 05, 2015 • erstellt von Jens Werschmoeller Autoimport von Stammdaten Jan 03, 2015 • aktualisiert von Jens Werschmoeller • Änderung anzeigen IG Markets - REST Trading API Dez 15, 2014 • aktualisiert von Jens Werschmoeller • Änderung anzeigen Consors Trading API Dez 15, 2014 • aktualisiert von Jens Werschmoeller • Änderung anzeigen Arbeit mit der Hilfe Bitte kommentieren Jede Seite kann anonym oder mit Logindaten kommentiert werden. Da es nur einer Starter/WIKI-Seite ist, müssen leider ein Großteil der Anwender mit anonym posten. Bitte hier die EMailadresse oder einen Alias von der Registrierung verwenden, damit ich eventl. auch direkt Antworten kann. Die Kommentarfunktion findet sich unterhalb jeder Seite und steht jedem Leser der Seite zur Verfügung. Bitte korrigieren Sie finden Textpassagen, die so unsinnig erscheinen? Dann korrigieren bzw. erweitern Sie gerne den Text selbst. Hiervon soll diese Art der Dokumentation ja leben! Da intern Versionen verwendet werden, kann jederzeit zu einer alten Version zurückgekehrt werden, sollte es hier zu unerwünschten Änderungen gekommen sein. Eine Benachrichtigung per Mail (rechts über das Menü) kann für einen selbst für Änderungen aktiviert werden. Diese Funktion ist allerdings nicht für anonyme-User freigeschaltet. Bitte haben Sie hierfür Verständnis, da auch das Zurückrollen kraftraubend sein kann. PDF-Manual Die aktuellen Inhalte stehen vollständig als PDF-Dokument zur Verfügung. Sie können So die Inhalte auch ausdrucken oder mit Mobilgeräten mitnehmen usw. Die Version wird zeitnah bei größeren Anpassung in der Hilfe neu hochgestellt. http://www.shareholder24.de/download/Shareholder-R2-Boersensoftware-Handbuch.pdf Suchen Die Hilfethemen sind thematisch gruppiert eingeordnet. Dennoch kann es vorkommen, dass Sie das gesuchte Thema nicht sofort finden. Bitte benutzen Sie dann einfach die Suchfunktion innerhalb des Systems (oben rechts). Im Normalfall finden Sie hier dann auch die gesuchten Informationen. Sollte auch dies nicht zum Erfolg führen, schreiben Sie bitte eine kurze Mail an die [email protected]! Das entsprechende Thema wird dann nachgereicht bzw. dann per Mail behandelt. Bookmarks Wenn ein etwas komplexeres Thema mit vielen nutzbaren Querverweisen behandelt werden soll, so lässt sich auch bequem die Technik von Bookmarks/Favoriten nutzen, insb. wenn Sie Themen öfters nachschauen möchten. Hierzu können Sie jede Seite als über Tools / Als Favorit speichern abgelegen. Diese finden Sie dann direkt auf der Startseite im Dashboard unten rechts. Kontextsensitive Hilfe im Programm Shareholder selbst ist in den Funktionen sehr stark mit den Hilfethemen verbunden. Es lassen sich somit im aktuellen Formular mit der Funktionstaste <F1> direkt ohne Suchen das zugehörige Hilfethema anspringen. Es ist hierzu hilfreich dass "fragwürdige Element" soweit wie möglich zu selektieren und erst danach auf <F1> zu drücken. Für das Programm ist es ein Unterschied in der Hilfezuordnung, ob Sie auf dem Button "OK" stehen oder mit dem Cursor direkt in der zugehörigen Liste. Bitte beachten Sie dies bei der Nutzung! Diese Funktion ruft zur Zeit noch die interne Windows-Shareholder-Hilfe auf. Erst mit eines der kommenden Versionen wird die hier vorliegende Hilfe direkt in Shareholder eingebunden sein. Eigener Zugang zum System (WIKI) Leider liegt nur eine kommerzielle auf die Useranzahl stark eingeschränkte Version (5User) vor. Leider ist damit vorerst nur ein anonymes Arbeiten mit den Inhalten möglich. Langfristig strebe ich allerdings für die registrierten Anwender, sowohl für die Supportplattform JIRA, als auch für die Dokumentationsplattform (WIKI) ein jeweils personalisierten Zugang an. Kostenseitig ist dies zum aktuellen Zeitpunkt für mich aber noch nicht sinnvoll zu rechnen. Grundbedienung und Grundaufbau Grundaufbau Bildschirm Menüleiste mit Toolbar Die Toolbar zeigt passend zum aktuellen Hauptreiter mögliche sinnvolle Funktionen an. Die Toolbar wird dabei um spezielle Tabs ergänzt, wenn z.B. die Depotcharts aufgerufen werden. Ziel ist es dem Anwender immer nur Tabs zu zeigen, die in dem Moment tatsächlich nutzbar und gewinnbringend sind. Unnötige Elemente werden daher immer ausgeblendet. Die Funktionen selbst werden oft auch im Hauptmenü und in Kontextmenüs (r. Maustaste) verknüpft. Der Start von Funktionen ist somit nach eigenen Gewohnheiten möglich. Hauptreiter Grundidee ist es sinnvolle Sichten auf die tägliche Arbeit abzubilden. Es sind so einige Primärsichten entstanden, die in entsprechende Reiter gelegt worden sind. Detailerklärungen finden Sie in der Hilfe zu jedem einzelnen Punkt. Transaktionen Depotansicht Depotcharts Tradingmatrix Watchlisten Chart-Gallery Filter Handelssysteme Newsbrowser Listen Sortierung der Liste: Sie können jederzeit die Sortierung von Tabellen verändern, wenn Sie einfach auf den Spaltenkopf mit der Maus link klicken. Wenn Sie die selbe Spalte nochmals anklicken, wird die Sortierung für diese Spalte umgekehrt. Größenveränderung von Spalten: Die Spaltengrößen verändern Sie durch Drag&Move. Hierzu müssen Sie die Maus zwischen zwei Spalten bringen, bis der Mauscursor sich verändert. Dann drücken Sie die linke Maustaste und verschieben den Spaltenrand bis zur gewünschten Größe und lassen dann die Maustaste wieder los. Während der Operation wird Ihnen live eine Veränderung gezeigt. Verschieben von Spalten: Die Spaltenposition verändern Sie mit Drag&Drop auf der Spalte. Hierzu drücken Sie die linke Maustaste auf dem Spaltenkopf der Spalte, die Sie verändern möchten. Sie lassen die Spalte wieder los, wenn Sie an der gewünschten Position mit der Maus angekommen sind. Während der Operation wird Ihnen live eine Veränderung gezeigt. Ein-und Ausblenden von Spalten: Sie können hier einfach mit der rechten Maustaste auf den Spaltenbereich klicken. Sie erhalten anschließend ein entsprechendes Konfigurationsfenster, um Einzelspalten ein-oder auszublenden. Typische Spalten und deren Deutung Spalte Erklärung Candle Darstellung des "Tageskerze". Die Tageskerze wird dabei um 90° nach rechts gekippt dargestellt. In der Folge wird entsprechend der Semantik der japanischen Kerzen die Bandbreite (High-Low) des Tages als Kerzendocht dargestellt und der Kerzenkörper repräsentiert die Bandbreite/position des Open und Close-Kurses je nach Farbe. ROT = Close< Open womit der Open-Kurs den linken Rand der Kerze und der Close-Kurs den rechten Rand bildet GRUEN = Close > Open womit der Schluss-Kurs des Tages am rechten Rand und der Open Kurs am linken Rand gezeigt wird. Stops Die Stopkursinformationen werden immer im folgenden Schema dargestellt: <StoppKurs_Verändert_Durch z.B. Chart, User> <Stoppkurswert> <Ergebniswert bei Realisierung des Stopkurses> AK <Abstand% zwischen Stopkurs und aktuellem Kurs> <Abstand absolut zwischen Stopkurs und aktuellem Kurs> Gewinn oder % Spalten Positive Werte werden immer grün, Negative Werte immer rot dargestellt. Als kleineren oberen Wert wird der Absolutwert dargestellt, darunter der prozentuale. Statusleiste Grundfunktionen Funktionstasten Sie müssen die Funktionstasten nicht auswendig lernen, da diese auch in den Haupt-oder Kontextmenüs rechts neben einer Funktion eingeblendet wird. Dennoch zur Vollständigkeit hier gelistet: <ESC>: Schließen des aktuellen Dialogfensters. (Ab der 2.9.5.22 in allen Fenstern integriert) <F1>: Anzeige der Hilfe passend zur aktuellen Auswahl. Sie werden dabei direkt in das aktuelle Online-WIKI weitergeleitet und haben damit immer Zugriff auf den aktuellsten Hilfestand, ohne dass Sie eine lokale Version permanent aktuell halten müssten. <F2>: Speichern der aktuellen Einstellungen <Pfeil links>,<Pfeil rechts>: Hier können Sie innerhalb von Charts und Newspannels zwischen den Werten wechseln. Welche Liste dabei zugrundeliegt hängt vom Startpunkt ab. Wenn Sie beispielsweise innerhalb einer Beobachtungsliste einen Chart öffnen, sind alle anderen Werte die Basis. Die Shortcuts müssen Sie dabei nicht auswendig lernen, sondern schauen Sie einfach abundzu bewusst in die Hauptmenüs und Kontextmenüs, womit Sie die Zuordnungen immer rechts neben den Aktionsnamen sehen können. Kontextfunktionen Um die Kontextfunktionen, d.h. die passenden Menüfunktionen für die aktuelle Auswahl einzublenden, müssen Sie einfach das gewünschte Element z.B. einen Aktientitel innerhalb einer Liste selektieren und hier dann die rechte Maustaste drücken. Im Normalfall brauchen Sie nur mit der Maus zum gewünschten Element gehen und nur die rechte Maustaste drücken. Eine wenn notwendige Selektion des Elements wird automatisch vorgenommen, ohne dass Sie dies zuvor vorgenommen haben müssen. Kontextfunktionen finden Sie in Shareholder praktisch überall. Sie können dies in Charts, in allen Listen, in Eingabefeldern usw. finden. Maus-Doppel-Klicks Überall im Programm sind Aktionen hinter Doppelklicks gelegt insb. in Listen wie in den Depotlisten, Transaktionslisten, Kurslisten usw. Welche Aktion hier jeweils ausgelöst wird, hängt vom Kontext ab. Um nur einige Beispiele zu nennen: Innerhalb von Kurslisten wie in Depotlisten, Marktlisten, Watchlisten: Öffnen der zugehörigen Stammdaten für den Titel Innerhalb von Watchlisten: Öffnen der selektierten Transaktion zur Nachbearbeitung Unterschiede Profi- und Standardversion Unterschiede Funktion Demoversion Grundfunktionen Charts Freie Stammdaten-Verwaltung zu Titeln, Aktualisierungsadressen Stammdaten-Veränderungen bei Aktien-Titelanlagen werden beim Schließen des Programms verworfen. Kursaktualisierung über Tai-Pan RT, EOD und freien Internetkursangeboten Online-Updates für Stammdaten und Programmversionen Depotmanagement Depotmanagement Moneymanagement Auswertungsgrafiken - und Matrizen Webseiten-Berichte-Reporting mit max. 30 Transaktionen Standardversion Profiversion Import aus Daten vom IgMarket-CFD-Trading-Konto (www.igmarkets.com) Technische und Fundamentale Aktienanalyse Neuronale Netze Filtersystem Indikatorenpannel Candlestickformationserkennung Indikatorenlisten Genetische Algorithmen für Handelsoptimierungen Die Demoversion zeigt beim Programmstart die Entwicklungshistorie in einem mehrsekündigen Wartebildschirm an und speichert keine Aktienstammdaten dauerhaft. Diese können nur temporär geändert werden. Zukunft Zukunft Nicht ohne Relevanz ist für Anwender die Zukunft des eingesetzten Programms. Shareholder wird in meiner Freizeit vorangetrieben, aus Spaß und Experimentierfreude an der Entwicklung und an der Börse. Hintergrund bei der Arbeit ist immer die eigene persönliche Nutzung des Systems. Dies steht dabei aus meiner Sicht nicht im Widerspruch zur kostenpflichtigen Bereitstellung des Programmpaketes, da Änderungswünsche von Anwendern eingearbeitet, Support geleistet und eine Basisinfrastruktur für Website, Softwarelizenzen und Betrieb finanziert wird. Jede verkaufte Lizenz bestätigt mich dabei, indem was ich tue und motiviert mich weiter zu machen. Einen komplett idealistischen Ansatz fahre ich damit nicht. Shareholder ist in der Entwicklung vollständig unabhängig von wirtschaftlichen Entwicklungen eines Geschäftsmodells/-betriebes, da es unter dem Motto "Hobby" läuft. Die Entwicklung ist damit allein abhängig von meiner Zeit und Motivation für das Projekt. Diese besteht jedoch bereits ab 1999, so dass hier eine gewisse Kontinuität auch in der Zukunft vorausgesetzt werden kann. Aktuellste Projektplanung Die zur Zeit eingeplanten Tasks innerhalb der kommenden Monate sind im Issue-Tracking festgehalten und nachfolgend mit dem aktuellsten Planungsstand gezeigt oder mit allen Details hier: Aktuellste Projektplanung von Heute. Neue Tasks werden über Shareholder oder über Mail an i [email protected] eingetragen. Grundsätzliches Projektvorgehen SCUM-Verfahren mittels JIRA/Greenhoopper, d.h. mittels Kundenstories und -priorisierung und kleinen Release-Zyklen. Die Release-Zyklen sind auf mind. einem wichtigen Release pro Quartal abgesteckt, wobei Bug-Fixe auch auf Tagesbasis jederzeit verfügbar gemacht werden. Priorisierungen Die Weiterentwicklung wird grundsätzlich durch Anwender-Stories bestimmt, d.h. Anfragen die zu Shareholder R/2 gestellt worden sind. Die hierfür möglichen Klassifizierungen sind immer "Bug" oder "Verbesserung/Neue Funktion". Die Stories werden in Release geplant, die so transparent planbar sind.Die Priorisierung von Stories erfolgt zur Zeit nur von mir selbst aufgrund von "geschätzter Relevanz" für Neukunden und Bestandskunden. Releasemanagement Semantik Shareholder wird nach festen Regeln im Releasemanagement aktualisiert. Folgende Regeln sind definiert und angewendet. Bei einer angenommenen Release 2.8.3.0 ist folgende Semantik anzuwenden: <MajorRelease><ModulReleases><SecondReleases><SubRelease> Major-Release: Grundsätzliche Änderungen in der Architektur, wie Änderungen des Objektmodells, Speichermodell Modul-Releases: Neue Module wie Dynamic Filter, Neuronale Kursprognose, Handelssystem werden mit einem eigenen ModulRelease hochgezählt Second-Releases: Bedeutende Änderungen an Modulen, Techniken usw. ohne Einführung eines neuen Modules Sub-Releases: Bugfixing, Programmpflege Im Minimum wird das SubRelease aktualisiert mit jeder veröffentlichten Programmversion. Veröffentlichung Neue Versionen werden über die Website: "Releases" unter www.shareholder24.de veröffentlicht. Eine einfache Kontrolle der aktuellen Version kann im "Hauptmenü / Hilfe / Auf neue Module prüfen ..." "Hauptmenü / Hilfe / Auf neueste Vollversion wechseln ..." vorgenommen werden. Normale Release-Zyklen für SubReleases sind aktuell 2 Wochen. Für SecondReleases jeden Monat. Major-Releases auf Jahresebene Entwicklungen auf Jahresebene verdichtet Jahr Wichtige Entwicklungen Ende 1999 Start 2000 Kursaktualisierung über dynamische Internetadressbildung inkl. Variablennutzung und HTML-Parsing, Umbau des Chartmoduls inkl. OO-Indikatoren(gruppen)system mit Signalbildung und -abbildung 2001 Integration eines Neuronales Kursprognosenetz zur Kursprognose als Diplomarbeit 2003 Integration eines Dynamischen Filtersystems zum Aufbau von eigenen Markt-Strategiesystemen 2004 Einbindung von Techniken des Moneymanagement, Auswertungen zum Monitoring der eigenen Handelstechnik (Tradingmatrix, Kapitalkennzahlen, Systemkennzahlen), Integration von BO-Statistiken/Fundamentaldaten, Verbesserung der Anbindung von Tai-Pan® 2005 Ausbau von speziellen Tradingtechniken insb. Candlestickformationen, Verwendung und Arbeit mit Watchlisten, Web-Publishing 2006 Ausbau von Money-Management-Funktionen (Transaktionsbewertungen, Automatisches Fortführen, Usability), Mehrsprachenunterstützung insb. Englisch für Website, Installation und Programm, Website-Umzug (3xfache Performance), MS-Vista-Support (Nutzung "Eigene Dateien"), Änderung des Hilfesystems (MS WinHelp zu MS HTMLHelp). Einführung der Listendarstellung von Indikatoren, um weitere Möglichkeiten zu erschließen, sowie die Erweiterung der vorhandenen Indikatoren. 2007 Anbindung Tai-Pan Realtime bzw. Tai-Pan RT, Automatische DUnit-Tests (Integrationstest zur Qualitätssicherung), Excel/CSV - Im-und Exportmodul fürs Depot, Kontenabgleich z.B. für flatex, Optimierungen für die Nutzung von Zertifikaten und Optionsscheinen, Automatischer Titelimport aus Tai-Pan, Tai-Pan RT oder OnVista, Unterstützung für MS Vista, Einführung Aktualisierungsgruppen, Umstellung von WKN zu ISIN als interner Primärschlüssel 2008 Redesign Oberfläche/Usability deutlich angehoben durch Ribbon-Bars und Nutzung von Office 2007 Styles, Performanceverbesserungen, Tai-Pan8 Support, VISTA Support 2009 Einführung JIRA als Bug-Tracking-Tool und WIKI als Dokumentationssystem für die Hilfe, Abarbeitung der 180 offenen Issues auf nunmehr 80 offene. Weitere Verbesserungen in der Usability und Stabilität des Systemes. 2010 Automatische Handelssysteme und Einführung von Optimierung von Indikatorensystemen mit genetischen Algorithmen, Verbesserung der Gesa mtperformance 2011 Verbesserung der kostenlosen Kursdatenversorgung auf aktuell mehr als 10 angebundenen Kursdatenlieferanten Modul-Releases R2.8.x 2.8.14 (11.2007) Vollständige Migration und Anpassung von Shareholder zur Nutzung der ISIN, statt der WKN. Die Migration schreibt dabei folgende Daten um: Kursdaten*, Charts*, Notizen*, Profile*, Einstellungen, Sparpläne, Depottransaktionen, Währungsreferenzen und die Watchlisten Automatische Kontenanlage UND automatische Titelanlage von unbekannten Depotwerten beim Laden von Depots Qualitäts, Usability * und Performancecerbesserungen Performanceverbesserungen beim Laden/Refresh des Depots Quickcharts nutzen nun ebenfalls eine Basisliste, um im Chart Vor-und Zurückblättern zu können Stopkurs bei Mausklick ins Hauptmenü auf erster Ebene verschoben um den Klickpath zu verbessern Layoutanpassungen um Watchlisten, Märkte, Newsticker mehrzeilig auswählen zu können ohne das TabSet scrollen zu müssen Anlegen von neuen Werten fragt nun nur noch einmal ab, wenn keine Hilfe erwünscht ist. Tai-Pan Aktualisierungen ignorieren künstliche ISIN-Nummern, die ohnehin nur übers Internet aktualisiert werden können z.B. Rohstoffe Infos im "Über..."/About-Dialog über alle Revisionen, Ladezeiten und Stammdaten Rohstoffe (Energie, Edelmetalle,Industriemetalle, Soft-Commodities) hinzugefügt in den Stammdaten ebenso wie einige Devisen-Einträge 2.8.13 (10.2007) Stopkurs-Funktionalitäten und -Management optimiert Unterstützung für die Watchlisten, d.h. inkl. Zielkurs / Limitkurs-Überwachung. Watchlisten von Börsenbriefen oder eigene sind somit effektiver zu führen. Stopkurs-Status-Anzeige erlaubt nun auch den direkten Zugang zum Chart, Löschen von Stopkursen, Editfunktionen und den Gesamtüberblick aller vorhandenen Überwachungstitel Umgerechneter Zertifikat/OS-Kurs aus Depotpositionen wird im Chartmodul nun direkt neuberechnet und angezeigt an folgenden Stellen: Cursorposition, Stopkurslinie, Zielkurslinie. Eingabe des Basiskurses/Strike ist nun immer zwingend für die korrekte Berechnung. Unterscheidung zwischen Short/Long-Positionen, wobei bei Shortpositionen die Targetlinie automatisch als Stopkurslinie für den OS/das Zertifikat angenommen wird. Stopkurs/Zielkursänderungen bei Basiswerten führen zu automatischen Anpassungen der Stopkurse in allen abhängigen OS/Zertifikaten 2.8.12 (09.2007) Volle Tai-Pan 7.1 Unterstützung (Onlinemanager) für MS Vista Einführung von Aktualisierungsgruppen, die von jedem Titel/jedem Titel individuell festgelegt werden können. Kursdatenanbieter können direkt über das Stammdatenfenster geprüft werden für einen Einzeltitel insb. bei Problemen Einzel/Mehrfachsetzung der Aktualisierungsgruppe über die Marktlisten Saubere Trennung für börsenspezifischen. Aktualisierungen möglich, wenn z.B. nur Kursdaten von Frankfurt oder XETRA verwendet werden sollen. Stammdatenimport für Märkte erlaubt nun den Fremdimport von Titeln über CSV-Datei über ein deutlich flexiberes System inkl. direktem Einlesen von Variablen z.B. YahooSymbol oder OnVistaID usw. Interne Optimierungen und Anpassungen Dateirevisions-System verbessert, so dass neuere Dateiversionen von alten Shareholder-Versionen nicht mehr unbehindert geladen werden. Stammdatenunterstützung für OS-Basispreis, OS-Knockout Verwendung des Windows-Benutzer-Datenverzeichnis verwendet, um die Datendateien (Profile, Kurse, Stammdaten) abzulegen. Dies ist erforderlich, um sauber Vista-kompatibel zu arbeiten. Das Datenverzeichnis kann natürlich weiterhin beliebig gesetzt werden (USB-Stick, Netzlaufwerk usw.). Der Datenpfad wird intern in der Registry unter LOCAL_MACHINE * Private Je * Shareholder gespeichert. Automatische Einblenden in einer Baumstruktur von Optionsscheinen oder Zertifikaten zu einem Basiswert abhängige Werte werden nach "Aufklappen" des Basistitels direkt in den Hauptansicht gelistet mit allen direkten Funktionen wie Charts, News, Profil. Zusätzlich werden der aktuelle Hebel, KnockOut-Schwellen eingeblendet, um ein geeignetes Papier zu einem Basiswert schnell und einfach zu finden. "KO",d.h. ausgeknockte Papiere werden hierbei ausgeblendet und vereinfachen somit auch das langfristige Handling von Optionen. Die Funktion steht nur im Trading-Studio zur Verfügung in den Watchlisten und im Depot selbst OS/Zertifikate-Positionen werden erst aktiv mit dem Aufklappen gebildet. Damit werden Aktualisierungen nur für entsprechende (sichtbare) Positionen vorgenommen. Zusätzlich wird nun in einer Session der Klappstatus gespeichert Transaktionsformular * Stopkursberechnung optimiert (Positionsgrößen aus Money Managment-Sicht): Initial-Stoppkursen aus Charts/Gesetzten Stopkursen Automatisch berechneter Stopkurs als Standardabweichung der letzten 12 Tage * Faktor 5% unter letztem Kurs sollte die StdAbw nicht berechnet werden können Manueller eingegebener Stopkurs im Formular Usability * Performanceoptimierungen Proxy Ein/Ausschalten, Bedienung über Funktionstasten optimieren und Doppelbelegungen fixen, Performanceverbesserungen Lokalisierung aus Performancegründen wieder vollständig entfernt. Shareholder bleibt somit erstmal eine reine deutsche Börsensoftware. Notizen werden nun zusammen mit den Charts, Profilen, News in einer Quickstartleiste gezeigt, d.h. sind Notizen vorhanden, werde diese mit einem speziellen Icon sichtbar gemacht. Ein Klick darauf öffnet dann automatisch den Notizblock für den Titel Chart-Stopkurslinien und Targetkurslinien zeigen immer den aktuellen Wert an während der Veränderung (Drag-Phase) Spaltenauswahl reagiert nun bei rechter Maustaste auf den Header Orginalsortierung wird in den Chartlisten von der Ursprungsliste übernommen (bisher Namenssortierung) Titel können nun direkt in einem Chart, Watchlisten hinzugefügt oder entnommen werden. Die aktuelle Zuordnung wird dabei angezeigt. Auswertungen nun ebenfalls für den aktuellen Tradingtag neben Monatsanalyse, Jahres* und Gesamtanalyse 2.8.11 (06.2007) Automatischer Titelimport nun auch gegen und für OnVista unterstützt. Insb. für die Verwendung von Zertifikaten und Fonds wird damit eine deutliche Erleichterung in der Handhabung erreicht. 2.8.10 (05.2007) Vista-Kompatibilität (Nutzung von Vista Themes, Nutzung der neuen Öffnen/Speichern-Dialoge) sowie Beseitigung von Problemen im Zusammenhang mit Vista (Falschdarstellungen, Speicherung von Fensterpositionen) Vollständiger Umstieg der Entwicklung auf Delphi 2007 womit die Entwicklung nun unter und für Microsoft Vista möglich ist. Für mich sind somit zukünftige Entwicklungen zukunftssicher realisierbar. Delphi 2007 ist seit Mitte März verfügbar nun von Codegear (ehemals Borland). Lade/Speicherperformance insb. des Depots beschleunigt Chartzeichenmodul verbessert Charts öffnen sich noch schneller durch Non-Repeated-Draw of Points (insb. für GDs) Kurslinien können nun endlich nachträglich verändert werden in Position (Marker mit Maus ziehen) , Eigenschaften (Doppelklick auf Markerlinien) inkl. Beschriftung Linien können unterschiedlichen Breiten, Farben und Beschriftungen besitzen Als Linienzeichenmodes sind nun erlaubt: Solid, Punkt, Punkt-Strich, Strich. Die Einstellung hierfür erfolgt im Eigenschaftsfenster (Doppeklick oder sofort bei neuen Linien geöffnet) Zeichnen von Fibonacci-Retracements und Kurszielen deutlich vereinfacht, da nur noch die Hauptlinien verändert werden müssen und die berechneten Kurslinien nur angezeigt werden Eine Markierungsfläche kann nun temporär zur Veranschaulichung von markanten Chartpositionen genutzt werden. 2.8.9 (04.2007) Im-und Exportschnittstellen (Gebührenabgleich Konten) Automatischer Gebührenabgleich gegen Flatex-Konten (Kontenumsätze). Bei Flatex werden die Courtage und TGeb als Fremdspesen abgerechnet z.B. für Stuttgart und Frankfurt. Da hier aber auch Teilausführungen zu Kosten führen, ist die 100% Vorausberechnung nicht möglich. Mit dem neuen Abgleich ist hiermit ein Lösung gefunden. Der Punkt findet sich unter "Hauptmenü.Depot.Im-und Export.Import Flatex-Umsatzabrechnung." Datensicherung Datensicherung / Aktualisierung vorhandener Sicherungsdateien in der Nutzerinteraktion verbessert (mehr Meldungen und Hinweise). 2.8.8 (03.2007) Optimierte Anzeige für Zertifikate/OS,d .h. Anzeige des zugehörigen Basistitels als eigene untergeordnete Zeile Automatische Aktualisierung der zugehörigen Basistitel für Tagesdaten, Historische Daten, Realtimekursdaten Direkter Zugriff auf den Chart des Basistitels Direkter Zugriff auf die News und das Profil des Basistitels Direkter Zugriff auf die Web-Daten des Basistitels (Onlinepannel) Kursaktualisierungen sind nun mit Strg-5 auch für die Basistitel direkt möglich ohne den Umweg über die Depotaktualisierung Transaktionen: Depotexport -und Depotimport über CSV bzw. Excel. Unterstützt werden Aktualisierungen, Neuaufnahmen als auch Löschungen. Eine schnelle Bearbeitung der Transaktionen z.B. in Excel oder der Import von vorhandenen Datenbanken oder Orderlisten wird nun unterstützt. Hintergrund ist die Optimierung des Imports von Altlisten und die schnelle Weiterverarbeitung der Transaktionen für eigene Auswertungen in Excel oder für die Steuerbehörde. Automatische Anlage von Titeln, wenn diese beim Transaktionsimport noch nicht vorhanden waren. Die manuelle vorherige Anlage ist hiermit nicht mehr notwendig. 2.8.7 (02.2007) Anbindung Tai-Pan EOD und Tai-Pan RT Automatischer Titelimport bzw. erweitere Suche, wenn Titel in der eigenen Shareholder Datenbank nicht gefunden werden können. Dies ist insb. bei Zertifikaten, OS und Fonds sehr interessant, da hierdurch nur die Titel übernommen werden, die für die Depotverwaltung oder Watchliste interessant sind. Diese erweiterte Suche funktioniert in Kurslisten und in Transaktionsmasken. Z.b. kann ein Zertifikat X einfach mit ISIN im Transaktionsfenster eingegeben werden und mit Enter zur Suche weitergegeben werden. Wird nun festgestellt, dass der Titel in Shareholder nicht existiert, wird automatisch die Suche ausgedehnt auf Tai-Pan. Wird der Titel hier nun gefunden, kann dieser direkt übernommen werden. Ein manueller Abgleich ist nicht mehr notwendig. Anbindung Tai-Pan RT * Realtimeaktualisierung, d.h. sofern vorhanden werden aus dem RT System, die aktuellsten Kursdaten übernommen. Entscheidend ist hierbei der letzte Kursstempel für die verwendete Börse. Für Aktien sind grundsätzlich aber F und ETR priorisiert. Anbindung Tai-Pan RT * Newsübernahme aus den vorhandenen Abos * Newslisten. Übernommen wird dabei immer nur die letzte Nachricht. Nicht freigegebene News aus dem RT System werden übernommen, da man hierdurch wenigstens die Headline besitzt. Anbindung Tai-Pan RT * Möglichkeit zur Aktualisierung von historischen Kursdaten. Tai-Pan RT ermöglicht mit der aktuellen Schnittstelle/COM-Server die Übernahme von historischen Charts (Jahrescharts). Diese können nun genutzt werden für die Aktualisierung von den internen historischen Kursdaten. Einführung neuer Indikatoren Neues Kurshoch "NewHigh" über x Tage Neues Kurstief "NewLow" über x Tage Gleitender Umsatz mit Triggerlinien "GDUmsatz" Beispiele für Dynamische Filter integriert Ein-und Auszahlungen können für die Vermögensentwicklung eingeblendet werden 2.8.6 (01.2007) Indikatoren lassen sich nun auch in Listenform gegenüberstellen mit allen verfügbaren Auswertungen (Zone, Wert, Signal für Kauf und Verkauf sowie die verbliebene Signalstärke) Programm-und Daten * Aktualisierungen können nun einheitlich nach manueller Auswahl direkt vom Programm eingespielt werden. Die Beschränkung auf Stammdaten und Programmdatei ist aufgehoben. Entsprechende Abhängigkeiten werden zudem zusätzlich berücksichtigt z.B. zu Hilfedateien, Stammdaten usw. Verbesserung der Usability z.B. in der Candlestickformationserkennung Verbesserung der Depotgrafiken (zusätzlich historische Liquidität und historische Gesamtvermögensentwicklung) Automatische DUnit-Tests die mit -DUnit aufgerufen werden können 2.8.5 (12.2006) Mehrsprachenunterstützung Hilfe umfassend aktualisiert und umgestellt auf das HTML-Hilfe-System von Microsoft, da für MS Vista der Support der alten WinHelp-Version ausläuft Unterstützung einer mehrsprachigen Programmversion (Deutsch, Englisch). Die Englische Version wird dann schrittweise ausgerollt. Bisher ist nur intern die Unterstützung integriert. 2.8.4 (10.2006) Plattform-Websiteumzug Umzug der kompletten Website aus Performancegründen auf einen eigenen virtuellen Server. Der Performancevorteil ist mit 2x deutlich zur bisherigen reinen Hostinglösung. Interne Optimierungen Setup / Installation Taipan-Database-Engine wird innerhalb der Installation direkt gestartet Depotkonten zeigen Nachkommastellen Anzahl der Nachkommastellen der Kurse bei OS/Zertifikaten/Devisen auf .4 erhöhen Usability-Verbesserungen Chartwechsel ohne Menünutzung möglich innerhalb der aktuellen Liste z.B. Depotliste, Watchliste, Marktliste, Filterergebnisliste Trendlinienstärke kann zwischen 1 und 5 Pixel festgelegt werden Suche in Marktlisten nun auch für die Branchenbezeichnung möglich z.B. um nach "Windenergie", "Solar", "IT" usw. zu suchen Neue Watchlisteneinträge übernehmen automatisch das Tagesdatum, was dann nochmals modifiziert werden kann Branche, Stopkurs und Stopkurstyp werden im Report herausgeschrieben. Siehe Tradingdepot. Transaktionsmaske deutlich überarbeitet zur Verbesserung der Usability Konten zeigen Ihren aktuellen Kontostand innerhalb der Auswahlbox im Transaktionsfenster (Kaufen/Verkaufen) Aktienfilter und das Handelssystem zeigen im Tradingstudio nun direkt zur Prüfung den Bedingungsbaum und somit die definierten Filterbedingungen Tages-Spread-Spalte einblendbar in Kurslisten (High-Low) Nachkommastellen bei Pennystocks automatisch auf .3 Bei Aktualisierungen wird das Stopfenster unterdrückt Aktualisierungen über Tai-Pan und für Programmupdates selbst Bei Tai-Pan Onlineaktualisierungen wird nun wieder die aktuell aktive Liste sofort aktualisiert, ohne separaten Aufruf der Tai-Pan Aktualisierung Direktaktualisierung aus Shareholder für die Aktienstammdatendatei (Hilfe.Auf Neue Version prüfen) Money Management Stopkurse sollten bei Transaktionen nicht verändert werden, wenn der vorhandene Stopkurs > Berechnete Initialkurs. Eingezeichnete Stopkurslinien per Chart sollen so unverändert bleiben Neues Reporttool zur Aufbereitung aller Transaktionsentscheidungen / * Bewertungen , d.h. die gemachten Kommentare / Notizen zu durchgeführten Käufen / Verkäufen werden mit den nachträglichen Bewertungen in einer Liste zusammengeführt. Per Doppelklick ist der Aktienchart sowie die Transaktionsmaske erreichbar. Das System soll helfen die eigenen Entscheidungen systematisch zu prüfen und zu verbessern. Der Report wird geöffnet über die Symbolleiste in der Transaktionsliste. Die Übersicht steht für den Monat, das Jahr oder über alle Transaktionen zur Verfügung. Excel Export und Druckfunktionalität des Reports stehen ebenfalls zur Verfügung. Stopkursanzeige in Stopkursformular und in der Depotansicht optimiert (Anzeige des Sicherungswert, Prozentualen Abstand) Unrealisierte Stopkurs * Verkauf * Transaktionen werden nun nach Nachfrage automatisch nachgezogen bei Stopkursänderungen vom Chart aus. Zusätzlich sind nun Kommentare gesetzt für diese automatischen Transaktionen. Stopkurslimits werden farblich markiert Vorhandene unrealisierte Verkäufe werden automatisch gelöscht, wenn ein Verkaufsauftrag mit gleicher WKN, Titelanzahl abgeschlossen wird. Eine manuelle Löschung entfällt somit. Reports mit Veröffentlichungsfunktion Transaktionsauswertung kann direkt als HTML Datei gespeichert werden für Veröffentlichungs-Vorgänge Chartcursormarke wandert automatisch je nach Position, so dass sowohl bei Lows als auch bei Highs die Chart-Labels lesbar bleiben Druck / Reportsicht ist veränderbar in seiner Größe. Letzte eingestellte Fenstergröße wird dabei gespeichert. Reports können nun auch den Transaktionsstatus in den XML-Dateien auswerten Reports zeigen alle Transaktionswerte mit 4 Nachkommastellen XSL Transformationsdateien für Reports können direkt per Edit-Aktion verändert werden 2.8.3 (08.2005-09.2006) Newsbrowser Aktivierbarer "Auto Refresh" im Newsbrowser/Onlinepanel URL ist im Newsbrowser/Onlinepanel sichtbar gemacht Filter/Indikatoren/Watchlisten Dynamic Filter: Parameter * Wizard deaktivierbar Indikatoren-Rückgabewert auf Basis eines Bezugsdatums z.B. für "GleitenderDurchschnitt(1,varAll,varEWert,0)>GleitenderDurchschnitt(1,varAll,varEWert,-14)" d.h. vergleiche aktuellen GD mit den GD von vor 14-Tagen. Das Einsatzspektrum erhöht sich hierdurch für die Filter enorm. Übernahme des Filter-Rankings in generierte Watchlisten Watchlisten sind aufgewertet mit Kommentarfeld, Löschdatum, Vergleichsdatum-Entwicklung, Positionsfeld für Sortierungen aus Ergebnissen eines Filters Bei neuen Watchlisteneinträgen wird automatisch das Tagesdatum als Vergleichszeitpunkt gesetzt Generierte Watchliste "Depot-Realisiert " enthält automatisch als Vergleichsdatum (ROC-Berechnung) das letzte Verkaufs-Transaktionsdatum. Kursentwicklungen nach dem Verkauf sind so zur Analyse sehr leicht möglich. Löschdatum innerhalb von Watchlisten entfernt zeitgesteuert Titel Performance beim Aufbau der Watchlisten verbessert Usability* und Detailverbesserungen Automatisches Handelssystem: Zusätzliche Hinweise wenn kein Basisindikator für den Hauptchart ausgewählt ist und wie der Hintergrundprozess beeendet werden kann Funktionsbutton-Beschriftungen geändert ebenso wie die Menüstrukturen Monatsansicht in der Depotzusammenfassung hinzugefügt Über das Titel-Stammdaten * Formular ist es möglich alle vorhandenen Kursdatenanbieter zu testen, d.h. die Aktualisierungs-Protokolldaten werden in einer Liste aufbereitet dargestellt. Alle Adressen werden hierbei automatisch geprüft. Schwierige Werte insb. Fonds können so mit einem Klick auf eine verfügbare Aktualisierungsadresse ohne manuellem Test geprüft werden. Bei Börse-Online Statistik-Importen werden die prozentualen Veränderungen der neuen Anpassungen vom aktuellen Basisjahr als Kommentar in den positiv / negativ Listen gespeichert. Anpassungen von Gewinnschätzungen können so bewusster über die Watchlistenkommentare wahrgenommen werden. Frei wählbarer Ort für Datenordner z.B. um über ein Netzlaufwerk die Stammdaten / Kursdaten nur einmalig abzulegen für mehrere Instanzen Noch nicht abgelaufene Spekulationsfrist wird mit einem S: in der Gewinnspalte angezeigt Zahlenformat beim Export definierbar Pflegbarer Katalog von Transaktionsbewertungen um Fehler und Schwächen nachträglich bei Transaktionsentscheidungen zu suchen. Die Transaktionsbewertung wird über das Transaktionsformular eingegeben und im Transaktionsbaum gelistet. Laden von URL-Depots: Editfunktion der URLs Interne Optimierungen Unterstützung der Bibliotheken von Tai-Pan® 7 Interne Umstellung der Entwicklungsumgebung auf Delphi® 2005 von Delphi® 7. Daneben sind eine Reihe von genutzten Komponenten aktualisiert insb. Indy 10, JVCL, JCL. Videotextsupport endgültig entfernt, da der Support hier nicht mehr gewährleistet werden kann und auch technisch kaum noch Sinn macht 2.8.2 (07.2005) Plugins Mittels dem Website-Publishing können nach einer entsprechenden Auswahl Depots-Watchlisten-Chartbilder-Auswertungsgrafiken automatisiert oder manuell lokal oder per FTP bereitgestellt werden. Als Referenz ist das Tradingdepot auf www.shareholder24.de integriert. 2.8.1 (05.2005) Einstellungen Einstellungen für Internet-Intervall-Updates, Bevorzugte Aktualisierungsvariante (Internet/Tai-Pan®) für EOD-Daten, Letzte ausgewählter Favorit im Newsbrowser werden fortan gespeichert und beim Start des Programmes wieder hergestellt Charts Im Chart kann das Volumen direkt oder normalisiert (dividiert durch den Durchschnitt der letzten 50Tage) angezeigt werden. Die Einstellung wird pro Chart gespeichert (default oder speziell). Das Volumen wird so im Kontext des Umfeldes (50 Tage) betrachtet und schwankt um 1,d .h. es ist kleiner oder größer als der Durchschnitt der vorhergehenden 50 Tage. Indikatoren (siehe auch Grundlagen Volumen) Integration Volumenindikator: "OnBalanceVolume (OBV)" Integration Volumenindikator: "Positive Volume Index (PVI)" Integration Volumenindikator: "Negative Volume Index (NVI)" Integration Volumenindikator: "Volume Price Trend (VPT)" Integration Volatilitätsindikator: "Notis %V " Internetkursupdate Support für Internet * HTTPS Abfragen z.B. für Cortal-Consors Times&Sales + History * Abfragen. Unterstützt wird sslv2, sslv3. Die Einspielung der OpenSSL Bibliotheken für Windows über ein Update der Windows-Systemdateien ist allerdings zwingend Einfaches(fehlertolerantes) Arbeiten mit HTML-Datenquellen 2.8.0 (04.2005) Depot Depotwerteanzeige nur für echte Depotwerte Bilanzierung von Auslandswerten in der Depotwährung. Hierbei erfolgt eine automatische Umrechnung der Depotberechnungen und Wertanzeigen. Die Kaufkurs und Aktuellen Kursinformationen verbleiben aber in der Ursprungswährung um die Wertentwicklung leichter nachzuvollziehen. Gewinnwert-Sortierung im Depot alternativ prozentual (zu absolut) Optimierter Druck der Depotgrafiken (Layout, Auflösung) als Depotreport optimiert für den Ausdruck auf einer A4-Hochformatseite Kurslisten Anzeige der Währungs-Typ-Informationen des genutzten Marktes in Kurslisten in der Titelleiste Kursdatenmenüs in Depot, Watchlisten, Kurslisten angeglichen, d.h. es steht einheitlich in allen Listen: Aktiensplit, Reset Tagesdaten, Reset Tagesdaten + History, Internet Tagesdaten, Internet History, Internet T+H, Manuelle Kurseingabe, Import zur Verfügung Kurslistenansicht erweitert um Datenfelder für Optionsscheine/Zertifikate (siehe Stammdatenverwaltung) Listenfilter können additiv genutzt werden, d.h. es ist erlaubt zunächst nach Branche zu filtern und anschließend mit "KGV <50 " nur Titel anzuzeigen die nicht überbewertet sind (Listenfilter nicht verwechseln mit dem Dynamic Filter) Suchfunktion für OS/Zertfikate ausgehend von einem Basistitel (Kontextmenü) ROC in Kurslisten im Zeitraum VON-BIS eingrenzbar z.B. um Titel mit "hohem Momentum in der Kurserholung in der vorletzten Woche" zu filtern Kursaktualisierungen Importformate werden intern auch in Kurzschreibweise (Datum, Close) akzeptiert um Doppelanlagen zu vermeiden Konsolidierung der Importformate (und damit auch der notwendige Aktualisierungsadressen) durch Verwendung von Mehrfach Trennzeichen/Dezimaltrennzeichen sowie der Nutzung von Kurzschreibweisen Alle vorhandenen OS-Stammdaten werden über Tai-Pan® aktualisiert Tai-Pan®aktualisierungsmodes (Umsatzstärkste Börse oder Spezifiische Markt-Börse) Zeitkorrektur pro Internetaktualisierungsadresse insb. für Yahoo.COM Aktualisierungen Nach Tai-Pan®-Online-Aktualisierung wird automatisch die zur Zeit aktive Kursliste (Depot, Watchliste) aktualisiert Indikatorenverwaltung Indikatoren können direkt in den Einstellungen.Indikatorengruppen verändert werden (Umweg über ein Chart ist nicht mehr notwendig) Filtersysteme Indikatorengruppen werden als Variablen abgelegt mit der Semantik "varIG<Name>" Stammdatenverwaltung Basiswert, Laufzeit, Basistitel, Bezugsverhältnis, OSTyp(Put|Call) pro Wert definierbar insb. für OS/Zertifikate Neuanlage eines Elements kopiert nach Rückfrage Daten des zuvor markierten Elements (Importformate, Märkte, Filter usw.) Umbenennungen in Internetvariablen führt zu automatischen Anpassungen in abhängigen Elementen (Adressen, Variablen). Manuelle Nacharbeit ist somit nicht notwendig. Währung je Markt (auf Basis von Titeln mit einer Marktzuordnung als Anlagetyp "Devisen") Goldpreis, Ölpreis, REX, Volatilität als Kennzahlen bereitgestellt in den Stammdaten Börse Online Statistiken BOStatistik: Besserer Meldungstext nach dem Import für angepasste Gewinnschätzungen Druckfunktionen XSL-XML Strukturen und Design überarbeitet sowie Bereinigung/Korrektur der Struktur für Tempdateien im Reportordner (konsequente Nutzung eines Tempordners für Zwischendateien) Charts Chartzeitfenster 3Jahre und 5Jahre hinzugenommen Chartdruckfunktion in Informationsdichte und Layout erweitert (genaue Anpassung auf druckbares Querformat) Defaulteinstellung für Charteinstellungen-Speichern ohne Nachfrage einstellbar in den Programmeinstellungen Kursaktualisierung aktualisiert automatisch alle geöffneten Charts Hilfe Ab diesem Release werden Änderungen in der Größe von ModulRelease mit detallierten Beschreibungen und Querverweisen in der Hilfe aufgenommen. Hierzu ist in den Detailbesprechungen ein kleines Logo wie z.B. PICTURE R2.8.png hinzugenommen. Module Integration von Tickermeldungen/Newssites im Trading Studio verwaltet über IE * Bookmarks Start-Favoriten-Ordner für Newsbrowser personalisierbar Modul-Releases R2.9.x 2.9.5 (04.2009) Watchlisten / Chartgallery arbeitet nun mit allen normalen Kontextfunktionen, wie auch die Watchliste. Es können somit in der Chartgallery Titel markiert werden und anschließend gekauft, entfernt usw. werden. News Fenster (onlinepanel) mit Vor-Zurück-Funktion, wobei die zuletzt besuchte Website für den neuen Titel aktualisiert wird. Die Cursortasten links / rechts können wie im Chart genutzt werden. Chart Zeichenlinien inkl. Kommentar ausblenden (dauerhaft pro Chart gespeichert). Der Status wird pro Hauptchart / Indikatorenfenster getrennt pro Titel gespeichert. Volumen Einstellungen werden dauerhaft pro Titel gespeichert. Stop Loss - Darstellung Darstellung der Stopkurslinien mit aktuellem Wert (dauerhaft) und Differenzbetrag "Zurücksetzen Linien" im Chart sollte die Linien erst auf Rückfrage zurücksetzen Chartfenster - Tastaturbedienungsverbesserung (Blätterfunktion) - Benutzung der PfeilTasten Allgemeines / UI TaiPan - Filter Schnellzugriff Kurslisten / Performance Darstellung deutlich verbessert Updateroutine / Aktualisierung der Version unter VISTA UI TaiPan - Filter - Schnellzugriff Architektur Alle offenen Tasks in JIRA aus dem bestehenden PMTool übertragen "Anfrage senden" umbauen auf JIRA-Anfragen Zugang zu JIRA von Shareholder realisieren (Mail-Schnittstelle) Typ: Ausgaben Steuern (Zinsabschlag, Soli, Abgeltungssteuer) Depotmodul Darstellung Gewinnentwicklung Verbesserung Darstellung mit rechtem unteren Datumsfeld Risikoberechnung im Transaktionsformular intransparent Ansicht Charts-Gewinnentwicklung mit genauer Festlegung des Startzeitpunktes (ungenaue Monats-Tagesangabe alternativ). Zusätzlich ist auch in der Chart-Gallery ein entsprechender Startwert festlegbar. Beide eingestellten Werten werden als Option dauerhaft gespeichert. Gewinnentwicklung Übersicht: Prozentwerte in den Kapitalkurven und Benchmark-Darstellungen können ein- und ausgeblendet werden. Die Anzahl der Markierungswerte wird zudem absofort dynamisch berechnet auf Basis des Zeitraumes, um die Lesbarkeit in jeder Zoomstufe zu erhalten. Chartgallerie Lesbarkeit der Kennzahlen Blättern im Bereich Transaktionen, d.h. Anzeige der Anzahl der zugehörigen Elemente für die Jahresgruppe / Monatsebene Berücksichtigung der neuen Abgeltungssteuer für 2009: pro Konto: Definition der Abgeltungssteuer (Standardwert von 26,375% = 25 Soli), Sparer-Pauschbetrag (Sparerfreibetrag Werbungskosten-Pauschbetrag): 801€ (Default) bzw. 1602€ (Eheleute),Steuerverlustvortrag aus dem Vorjahr Info: Der aktuelle Werbungskostenpauschbetrag (51 bzw. 102 Euro) und der Sparerfreibetrag (750 bzw. 1.500 Euro) zum sogenannten Sparerpauschbetrag (801 bzw. 1.602 Euro) werden zum "neuen" Abgeltungssteuer Sparerfreibetrag zusammengeführt. pro Konto: Nutzung von Verlustverrechnungssalden pro Konto und seperat für Aktien und alle anderen Kapitalerträge pro Konto: Verrechnungszeitpunkt wird berücksichtigt, da dies der Gesetzgeber offen gelassen hat (sofort/unterjährige Verrechnung, manuell bzw. steueroptimierte Lösung am Ende des Jahres) Kontenansicht: Anzeige der Liquidität, StVerlustvortrag, StSparerPauschalbetrag Berechnung: ab 01.01 für alle Aktiengeschäfte außer Zertifikate, hier gilt dies bereits ab dem 14.03.2007 und >30.06.2009 Verkauf Berechnung: Berücksichtigung der Steuerbelastung durch Minderung der Gewinnsumme um 801€ sowie der Möglichkeit des Verlustvortrages aus dem Vorjahr Berechnung: Abgeltungssteuer Sparerfreibetrag kann dann von den zu versteuernden Einnahmen abgezogen werden, um so die tatsächlich die der Steuer zu unterwerfenden Einkünfte zu ermitteln. Darüber hinaus können keinerlei Aufwendungen mehr gelten gemacht werden. Die so ermittelten Einkünfte werden dann mit einer Abgeltungssteuer i. H. v. 25 % (zzgl. Solidaritätszuschlag und ggf. Kirchensteuer) belegt. Berechnung: Verlustvorträge dürfen nur mit Aktiengewinnen verrechnet werden (.1) Berechnung: Transaktionskosten, wie beispielsweise Gebühren und Provisionen, die durch Kauf und Verkauf an den Börsen und beim Broker anfallen, mindern weiterhin den Gewinn. Berechnung: Liquditätsberechnung bezieht die AbgSteuer ein bei sofortiger Verrechnung, d.h. Unterscheidung zwischen SOLL/IST-Abgeltungssteuer (.7) Titel-Stammdaten in der Anzeige optimiert (Marktliste vollständig, Kursdaten-Spaltenbreite verbessert) Hilfe / Infos erweitert Wichtiger Hinweis: Aufgrund bisheriger fehlender Revisionshistory für Depotkonten, muss leider eine neue Depotendung DepotR2 eingeführt werden. Beim Speichern wird diese automatisch statt der bisherigen .Depot-Endung angelegt. Es existieren somit immer noch eine alte (unter Backup) und die neue Version. Eine Revisionsmanagement ist nun auch hier eingeführt. 2.9.4 (12.2008) Chart: Fadenkreuz zeigt den aktuellen Kurswert auf der horizonalen Linie Chart: Skaliererung der Achsen automatisch auf Jahreszahlen/Monatsangaben und nicht mehr allein auf Tagesdatum Chart: Alle Labelmarkierungen optimiert für eine bessere Lesbarkeit (.1) Chart: Volumenachsen skalieren mit Mio/Tsd für eine einfache Lesbarkeit (.1) Chart: Shortcut "ESC" für Close eingeführt (.1) Chart: Shortcut "Entf" für die Chartlinien eingeführt (.2) Abgleichmodul gegen Depotumsätze von Flatex integriert. Käufe und Verkäufe können inkl. automatischer Anlage von fehlenden Titeln gegen eine CSV-Exportdatei von Flatex vorgenommen werden. (.2) Abgleichmodul gegen Kontenumsätze insb. für die Gebühren von Flatexkonten integriert 2.9.3 (11.2008) Beispiele und Templates aufgenommen in den Filterbedingungen. Die Beispiele können selbst ergänzt oder angepasst werden. Bitte hierzu einmalig die Systemdateien.MOD aktualisieren! Wenn Sie über Hilfe / Neue Module prüfen gehen, wird automatisch alles korrekt markiert. Vollbildmodus möglich für die Depotcharts und für normale Titelcharts Depotentwicklungen mit Fadenkreuz und Annotation für den aktuellen Zeitpunkt Chartmarkierungen können frei verschoben werden insb. für Kauf-Verkaufszeitpunkte und Candlestickmarkierungen. Dies funktioniert sowohl in normalen Titelcharts als auch in den Gewinnentwicklungscharts. Charttitel zeigt immer den Namen, ISIN, Marktzuordnung, womit insb. im Vollbildmodus noch eine Zuordnung möglich ist. Die UpDown-Buttons werden automatisch neu positioniert Gewinnentwicklung - Fadenkreuz kann einzeln aktiviert/deaktiviert werden. Markierungen sind farblich angepasst, damit überhaupt eine Unterscheidung möglich wird. (.6) Verschiebbare Markierungen besitzen eine Linie zum Referenzpunkt, so dass die Markierungen nicht nur im Raum schweben Datumsanzeige optimiert, womit 0:00 Uhrzeiten ausgeblendet werden und in der Transaktionsliste immer die Uhrzeit mit eingeblendet wird Optische Optimierungen (Gradient-Toolbars, Größenanpassungen, Neues Anfrage-/Requestformular, Bearbeitungscursor, Charts) Neues Frontend für das Filtersystem (DynamicFilter) Neues Frontend für Backups Neues Frontend für Anfragen Neues Frontend für Candlestickformations-Erkennung Entscheidungsmatrix bzw. Entscheidungsreport ist nun unter der Tradingmatrix konsilidiert Depotcharts - Auswertungen optimiert, womit prozentale Vermögensentwicklungen gezeigt werden und Benchmarks als Candlesticks eingeblendet werden. Es sind somit direkte Ableitungen hinsichtlich KnockOuts, Volatilität, Extrem starken bzw. schwachen Tagen möglich im Vergleich zum Benchmark. Wird dann zusätzlich Indextrading betrieben (so wie ich es selbst mache), können sehr interessante Analysen durchgeführt werden. Einstellungen für Depotcharts werden nun dauerhaft gesichert. Es werden auch keine vorgenommene Einstellungen bei Aktualisierungen mehr ignoriert. Chartnotizen können nun direkt und sofort im Chart eingegeben werden über ein aufklappbares Pannel. Ein Vollbildmodus steht ebenso zur Verfügung. Automatische Reihenfolgeoptimierung für Filtersysteme (Aufsteigende automatische Sortierung nach Zeitbedarf für die Berechnung) Newsticker erweitert um eine Tabauswahl ohne ein Lade-Fortschrittsanzeige. Das Arbeiten mit den Newsbrowser ist damit wesentlich angenehmer. 2.9.2 (09.2008) (.15) Neue Kontextmenü - Titelfunktionen integriert, womit das Management von Zertifikaten und Optionsscheinen vereinfacht wird: KO bei OS/Zertifikat erreicht, womit die Titel aus den "Klappmenüs" für ein Basistitel herausgenommen werden. Stammdaten insb. KO-Schwellen/Basispreis aktualisieren, sowohl für Einzeltitel als auch für Basistitel für alle Scheine. Die Aktualisierung der Stammdaten erfolgt hierbei über Tai-Pan, Tai-Pan RT oder OnVista. (.15) Unter Hilfe / Infos können das Datenverzeichnis und das Programmverzeichnis nun bequemerweise direkt per Explorer geöffnet werden (.16) Small-Fonts aus allen Masken und Dialogen herausgenommen, so dass die Schriftdarstellung nun einheitlicher und besser lesbar ist (.16) Shortcuts bzw. direkte Änderungsmöglichkeiten untereinander aus den Editiermasken für Internetadressen, Internetvariablen und Imortformate. Anpassungen sind so deutlich einfacher möglich. (.16) Notizhistorie kann nun auch für normalen Ertrag/Belastungseinträge genutzt werden und nicht wie bisher nur für Transaktionseingaben (.12) Börse-Online-Statistiken erweitert um eine "Suche" und fixe Unternehmensspalten und Headlines, womit eine bequeme und übersichtliche Navigation möglich wird (.13) Trading-Reporting und -Charts komplett überarbeitet. Es sind nun Tages-Wochen-Monats und Jahresanalysen möglich: Auswertungen werden dadurch deutlich vereinfacht. (.14) Verbesserte Chart-Gallery nun mit Monatsansicht, deutlich besserer Performance, Detailanzeige für Abstand zum Tiefs/Hoch/Startzeitpunkt. Auswertungen und Tendenzen werden so schneller sichtbar. Optimierung Screenlayout der Zwischenbilanz, der Datumseingabe in den Transaktionsmasken, Ein-und Ausblenden der Zwischenbilanz, Wording-Anpassungen Tai-Pan 8.x bzw. TaiPan wird nun unterstützt neben den bisherigen Tai-Pan 7.x und Tai-Pan 6.x Versionen (.2) Deutliche Performanceoptimierungen (ca. -15% für den DUnit-Test) (.4) Chartnotizen werden direkt im Chart eingeblendet (.4) Chartgallery zeigt bei Listen mit mehr als 50 Werten zunächst eine Auswahl der Limitierung an, damit unnötige Wartezeiten vermieden oder eingerechnet werden können. 2.9.1 (05.2008) Börse-Online-Importmodul überarbeitet. Der Import ist nun ohne Excel und damit ohne Makroausführung und ohne Abhängigkeit zur Excelversion möglich (leider ist die Basisdatei bis heute nicht kompatibel zu Excel 2007). Die Statistiken und die Watchlisten können nun ebenfalls besser genutzt werden. (.2) Marktübersichten nutzen nun eine direkte Auswahlbox und keine Tabs mehr, die insb. bei großer Anzahl von Einträgen schnell unübersichtlich wurden Komplettes Redesign der Trading-Depot-Watchlisten-Marktlisten-Oberfläche auf eine einheitliche aus Office 2007 bekannte Usability und Designvorgaben. Das Design kann nun zwischen 7 vorhandenen Motiven gewechselt werden (Office 2003, Office 2007, WinXP usw.) Schriftart* und größen können nun frei verändert werden Alle Listen / Bäume sind auf eine einheitliche Komponente / Architektur umgestellt Office 2007 Statusbar verbessert in Sturktur und Lesbarkeit insb. für die Beobachtungswerte / Watchlisten Vereinheitlichung der Funktionen in allen wichtigen Masken mit einheitlicher Bezeichnung, Zugang, Shortcuts in den Kontextmenüs und Toolbars Zuordnung von Watchlisteneinträgen, Stammdatenfunktionen aus allen Perspektiven und direkt per Mausklick möglich ohne zeitraubend über das Kontextmenü gehen zu müssen Transaktionsformular überarbeitet hinsichtlich Aufbau und Übersichtlichkeit, sowie direkter Zugriff auf Einzahlungen/Auszahlungen und andere Belastungen/Erträge Watchlisten und Märkte sind nun gleichrangig platziert in Kurslisten, so dass die Auswahl hier schneller erfolgen kann Fenstergrößen und -Positionen werden nun auch unter Vista sauber wiederhergestellt Stopkursdatenanzeige verbessert und auch in Kurslisten zugänglich gemacht Startzeit und Performance weiter verbessert Depotcharts Drucken der Depotcharts vereinheitlicht und verbessert, sowie die Möglichkeit die Depotcharts gezielt als PNG Dateien zu speichern Liquidität und Kapitaleinsatz mit eigener Achsendarstellung, womit die Übersicht deutlich verbessert wird Chartgallery:Darstellung der Chart-Galleries deutlich verbessert, sowie den direkten Zugang zu den Einstellungen Aktiencharts: Unterstützung für Darvas-Boxen (basierend auf dem Buch von Nicolas Darvas, der $2,000,000 im Aktienmarkt verdiente) (.1) Es gibt nun eine direkte und sehr einfache Updatemöglichkeit für neue registrierte Anwender, die eine vorhandene Demoversion auf Ihre Vollversion aktualisieren möchten. (Hauptmenü Hilfe * "Auf neueste Vollversion aktualisieren") (.3) Depotpositionen in den Depotcharts sind nun klickbar und führen direkt zu der zugehörigen Depotposition. Charts, Transaktionen und alle anderen Shareholderaktionen können so direkt ausgeführt werden (.5) Tai-Pan Katalogansicht komplett umgebaut und Vorbereitungen für die Version .6 getroffen mit Komplettabgleich zu Tai-Pan in allen vorhandenen Katalogen (.6) Tai-Pan Katalogansicht unterstützt nun die Katalogübernahme in Shareholder als automatisch angelegte Märkte (.10) Tai-Pan Katalogansicht erlaubt nun mit einer Funktion alle internen Marktlisten zurückzusetzen und die Katalogstruktur aus Tai-Pan 1:1 zu übernehmen Qualitätssicherung Hintergrund Da ich leider nicht alle Funktionen bei Änderungen immer manuell nachtesten kann, gibt es automatische Testumgebungen und -verfahren. Sogenannte Unit-Tests über DUnit realisieren hier selektive gewählte Tests auf Routinen oder Formularverhalten. Die Tests bestehen dabei immer aus Testeinrichtung Testdurchführung Überprüfung der Ergebnisse Testabschluß Manueller Selbststart Die Tests kann jeder selbst ausführen mit dem Programmparameter "-DUnit". Zur Zeit sind >60 Tests für alle wichtigen Masken / Funktionen definiert. Der Ausbau der Tests erfolgt von mir kontinuierlich. Support und Ticketsystem Kurzübersicht Das Support-und Ticketsystem basiert auf Atlassian Jira und Greenhopper mit aktiviertem Mail-Support-Account. Damit wird es möglich Anfragen zusammenzuführen aus: Mails an [email protected] Anfragen aus Shareholder über das Menü "Anfrage" Direkte Anfragen im System über Formulare Die aktuellste Version vereinfacht hierbei viele Funktionen wesentlich durch eine einfache Bedienoberfläche, als auch guter Unterstützung von Sofortaktualisierungen (AJAX) und Drag&Drop-Operationen. Hier das aktuelle Planungsboard: Wichtige und interessante Hinweise Mails an [email protected] erscheinen nach 5 Minuten auch im Ticketsystem. Dort bekommt jedes Ticket eine eindeutige Identifizierungsnummer, die eine weitere Nachverfolgung erlaubt. Schauen Sie innerhalb eines Tasks vor allem unter Aktivität, wenn Sie Neuigkeiten bzw. den aktuellen Status zum Task wissen wollen. Abstimmungen und Beobachtungen sind leider nur mit aktiviertem JIRA-Account möglich. Da ich nur eine Starter-Edition aus Kostengründen verwende, sind die Funktionen für Anwender leider nicht nutzbar. Zeitliche Bearbeitung von Tasks Die Abarbeitung von Tickets und Anfragen nehme ich immer dann vor, wenn es meine Freizeit zulässt. Bisher sind kleine Releases aber alle 2Wochen realisierbar. Eine verpflichtende Lieferung von Releases gibt es allerdings nicht. Versus Shareholder Vorteile von Shareholder im Vergleich Der Wettbewerb für Softwareprodukte rund um das Depotmanagement und Chartanalyse wird zunehmend härter und es gibt viele unbrauchbare, aber auch viele sehr vielversprechende skalierbare Produkte. Shareholder findet sich hier in der Produktmatrix weiterhin im unteren/mittleren Segment wieder, zusammen mit mehr als 30 anderen Produkten. Es ist aus meiner Sicht nur noch eine Frage der Zeit bis auch in diesem Marktsegment ein Open-Source-Produkt mit hervorragender technischer Basis geschaffen wird und in Konkurrenz zu den bereits vorhandenen Produkten stehen wird. Die Motive hinter einer Open-Source-Entwicklung und der von Shareholder sind jedoch beinahe die gleichen. Es ist die bewusste und gesteuerte Weiterentwicklung zugunsten von technischen & fachlichen Optimierungen mit nur nachgelagertem ökonomischem Interesse. Da für Shareholder im Basisbetrieb bereits Hostingkosten, laufende Lizenzkosten für 3rd-Party-Lösungen anfallen, muss ich auch hier als Privatperson eine Kostendeckung erreichen. Diese werden aktuell auch durch die Lizenzeinnahmen abgedeckt. Vielen Dank auch an dieser Stelle an alle registrierten Anwender! Die Grundfrage bleibt jedoch unabhängig vom Betrachtungswinkel und -Zeit die gleiche. Was macht Shareholder unverwechselbar oder wo kann der Anwender Vorteile in der Anwendung zu auch weiterhin kostenlosen Web/Anwendungen wie Finanztreff, Consors usw. ziehen? Und daraus ableitend, was macht die Weiterentwicklung abgesehen von meiner persönlichen Motivation zur Erforschung und Tests neuer Strategien interessant? Zur Zeit ist es aus meiner Sicht die Preis-Leistungsverhältnis mit Fundamentaldaten, Chart, Technischer Analyse-Möglichkeiten Umsetzung von Interaktiven Marktbetrachtung, Strategieerfassung, Handelsstrategien Hohe Performance durch insb. in-Memory-Technologie Unabhängigkeit von einem einzelnen Kursanbieter mit freier Erweiterbarkeit Nutzung von Online-Technologien für die Dokumentation (WIKI) und für den Support / Behandlung von Anfragen Anbindung von FXCM als Online-Broker Enge Einbindung von Lenz&Partner Produkten wie Tai-Pan und Tai-Pan RT Hoher Fundamentalschwerpunkt mit Unterstützung von Visualisierungen und automatischen Datenimports aus Tai-Pan Transparenter Support und Darstellung der Entwicklungsroadmap die den Unterschied zu anderen Programmen ausmachen ... Dies ist allerdings eine persönliche Einschätzung. Der Aufwand, der in Shareholder durch die Website, Programmierung, Support und Dokumentationen entsteht, ist jedoch enorm durch das Ein-Mann-Handling. Ohne Motivation geht es natürlich nicht ... Depotmanagement Grundprinzip Im Mittelpunkt des Programms steht die Depotansicht. Transaktionen bilden dabei die Grundlage der Depotansicht durch zugehörige Käufe, Verkäufe, Einzahlungen usw. Der zugehörige Hauptreiter "Transaktionen" findet sich entsprechend direkt neben der Depotansicht. Das Depot wird ergänzt um Depotcharts, Tradingmatrixen mit Auswertungen zu Erfolgsverteilungen. Um ein Depot zu managen müssen immer wieder neu Entscheidungen getroffen werden. Diese sollen erleichtert werden durch Watchlisten(Beobachtungslisten), Chart-Gallerien, Marktlisten und Newsticker. Für weitergehende Analysen die auf automatischen Selektionen aufbauen, stehen sowohl ein Filtersystem, als ein ergänzende Handelssysteme zur Verfügung. Auch Neuronale Netze können bei der Entscheidungsfindung helfen. Diese dienen der Berechnung von Kursprognosen auf kurzfristiger Basis (Tagesbasis). Alle Titel ob im Depot oder in Marktlisten, Watchlisten können jederzeit ergänzt und aktualisiert werden. Die Kursdaten zu Titel werden über die Menüleiste, Shortcuts, übers Kontextmenüs oder dem Hauptmenü aktualisiert. Im aktuellen Releasestand werden freie Kursdatenanbietern (Internet-Adressen wie Yahoo, Consors, OnVista), als auch Tai-Pan EOD und Tai-Pan RT unterstützt. Um insb. Unternehmens-Stammdaten zu aktualisieren steht zudem ein Import von Börse-Online-Statistiken (online) zur Verfügung. Depotansicht Spalten und deren Deutung und Besonderheiten Spalte Erklärung Bezeichnung Name des Wertpapiers: Erscheint hier ein '-', so existiert in der Datenbasis kein Wertpapier, welches die in der Transaktion verwendeten WKN besitzt. In diesem Fall muß in der Datenbasis ein entsprechender Eintrag erzeugt werden. Erscheint hinter der Bezeichnung in Rotschrift +K (offene Kauforder) oder -V (offene Verkaufsorder), so existiert eine Transaktion in der Transaktionsliste mit der Einstellung "Offener Auftrag". Branche Zuordnung der Gesellschaft zu einer Branche. Die Daten stammen intial aus der BO.Statistik, können aber jederzeit über die Stammdaten gepflegt werden (Doppelklick auf den Titel) des Wertpapieres. Ebenfalls zugeordnet und angezeigt wird die Marktzuordnung. Für die Darstellung wird der jeweils eingerichtete Kurzname (siehe Märkte) verwendet. Stk. Anzahl der Anteile des Wertpapiers. Die Stücke können wie z.B. bei Fonds auch Fließkommawerte sein. Kurs Gewichteter Durchschnitt-Kaufkurs: Einfache Durchschnittsberechnung bei der die Anzahl der einzelnen Posten für die Durchschnittsmengen-Berechnung gewichtet einfließen. Berechnung Summe( Anzahl * Kurs ) / Gesamtanzahl;Werden also 100 Stk a. 20 € und 200 Stk a. 50 € gekauft, so wird ein Durchschnittskurs von D=(100Stk*20+200Stk*50) / 300 berechnet. Candle Darstellung des "Tageskerze". Die Tageskerze wird dabei um 90° nach rechts gekippt dargestellt. In der Folge wird entsprechend der Semantik der japanischen Kerzen die Bandbreite (High-Low) des Tages als Kerzendocht dargestellt und der Kerzenkörper repräsentiert die Bandbreite/position des Open und Close-Kurses je nach Farbe. ROT = Close< Open womit der Open-Kurs den linken Rand der Kerze und der Close-Kurs den rechten Rand bildet GRUEN = Close > Open womit der Schluss-Kurs des Tages am rechten Rand und der Open Kurs am linken Rand gezeigt wird. AK Aktueller Tageskurs zusammen mit Trendinformationen (Trendpfeile) und Tagesentwicklungen. % Trendpfeile sind nach folgendem Schema zuzuordnen, wobei der Trend immer die Kursrichtung der Aktie meint. Intern wird der letzte Tage skurs mit dem vorletzten Tageskurs verglichen. Der Vergleich hat somit nichts mit vorherigen Tages zu tun und bildet nur eine Tagestendenz ab! Dahinter folgen die absoluten und relativen Kursveränderungen des Tages, wobei hier in Rot oder Grün die prozentuale Veränderung grafisch dargestellt wird. Der absolute jetztige Kurs ist in der benachbarten Zelle gelistet. Zeit Nur Kursaktualisierungen mit vorhandenem Zeitstempel zeigen diesen auch an. Für alle anderen gilt nur die Anzeige des Kurz-Datumformats. : Chart des Titels : Aufruf der Nachrichtenanzeige - Onlinepanels zum direkten Onlineabruf von Charts, News, Profilen auf Basis von verknüpften Stammdaten und Internet-Webadressen (editierbar) : Darstellung der Unternehmensbeschreibung Stops Die Stopkursinformationen werden immer im folgenden Schema dargestellt: <StoppKurs_Verändert_Durch z.B. Chart, User> <Stoppkurswert> <Ergebniswert bei Realisierung des Stopkurses> AK <Abstand% zwischen Stopkurs und aktuellem Kurs> <Abstand absolut zwischen Stopkurs und aktuellem Kurs> Wert Zeigt den aktuellen Börsenwert des Wertpapieres an. Gebühren werden hierbei nicht herausgerechnet, die eventuell für den Verkauf anfallen. Gewinn Positive Werte werden immer grün, Negative Werte immer rot dargestellt. Als kleineren oberen Wert wird der Absolutwert dargestellt, darunter der prozentuale. Welcher Gewinn würde bei einer sofortigen Auflösung der Position entstehen. Die Berechnung erfolgt entsprechend der gemachten Einstellung (Einstellungen.Programmeinstellungen."Anzeige und Berechnungen") keine Gebühren Kaufgebühren Kaufgebühren + hochgerechnete Verkaufsgebühren hinein. Depotauswertungen Hier bekommen Sie eine Zusammenfassung Ihres aktuellen (Buch)Vermögens in der Zwischenbilanz Ihrer Gesamtbilanz auf Jahressicht/Gesamtsicht sowie Auswertungskennzahlen zu Ihrem System/Kapital Investitionsgrad-Hilfstool Die Daten werden direkt nach der Änderung von Transaktionen oder von Kursdaten aktualisiert. Kleine Pfeile zeigen keine Tendenz an, sondern lediglich die Prozentangaben in vorher festgelegten fixen Zuordnungen der Grafik und des Prozentwertes (-20%,-3%,0%,3%,20%). Zwischenbilanz Aktueller Wert : Summe der einzelnen Wertpapierpositionen mit dem aktuellen Kurs. Kaufsumme : Summe der Kauftransaktionen ohne Gebühren Bankgebühren : Gebühren für den Kauf der Wertpapierpositionen. Gebühren für den Verkauf werden auf Basis der eingestellten Provisionstabellen mit eingerechnet (um sich nicht reichzurechnen). Die Verkaufsgebühren werden dabei bei voller Auflösung der gesamten Stückzahl über das letzte verwendete Transaktionskonto berechnet. Reingewinn : Aktueller Wert des Depots korrigiert um die Kaufsumme und um die hochgerechneten Bankgebühren. Dieser Gewinn steht so nur in den "Büchern" und verändert sich mit der nächsten Depotaktualisierung mit Sicherheit auch bei Ihnen Liquidität : Summe des zur Verfügung stehenden Geldes auf allen Konten (Cashreserven) Gesamtvermögen : Aktueller Wert des Depots + Liquidität Depotrisiko: Summe der Verlustrisiken im Depot. Das Einzelrisiko wird durch den vorhandenen Stopkurs berechnet. Ist kein Stopkurs vorhanden wird sofort von einem 100% Risiko ausgegangen. Die Summe aller Einzelrisiken bildet hier dann das Gesamt-Depotrisiko. Gesamtbilanz Die realisieren Aktienverkäufe werden differenziert nach Gesamtergebnis und Jahresergebnis. Zeitraum: Seit der ersten eingetragenen Transaktion berechneter Zeitraum. Für Jahresergebnisse wird hier nach Möglichkeit (Transaktion vorhanden < Aktuelles Jahr) der Neujahrstag als Stichtag verwendet. Startkapital: Durch die im Kontenformular und allen vorhandenen Transaktionen zurückgerechneter Startwert an Kapital. Der Startwert wird auf Jahresbasis und Gesamt unterschieden. Realisierter Gewinn : Durch Kauf/Verkauf von Wertpapieren realisierte Gewinn Bankgebühren : Angefallene Gebühren für Kauf / Verkauf der Wertpapiere. Belastungen: Summe der dem Zeitraum zuzuordnenden Belastungen wie Sollzinsen, Spesen usw. Erträge: Summe der dem Zeitraum zuzuordnenden Erträge wie Habenzinsen. Gewinn : Summe aus realisierten Gewinn - Bankgebühren + Erträge - Belastungen Kennzahlen Systemkennzahlen Pay-Off-Ratio: Durchschnittlicher Gewinn / Durchschnittlicher Verlust. Die Häufigkeit spielt hierbei keine Rolle. Hohe Werte werden logischer Weise durch einen hohen durchschnittlichen Gewinn und einem niedrigem durchschnittlichen Verlust erreicht. Natürlich gibt ein Durchschnitt keine Auskunft über die Verteilung der Gewinne/Verluste. Ein hoher Einzelgewinn/-verlust kann hier zu einer Verzerrung führen. Werte > 1 sind hier bei nicht verlustbringenden Systemen zwingend. Werden Gewinne tatsächlich laufen gelassen und Verluste begrenzt, sollten der Faktor bei > 1.5 liegen. Dies ist aber natürlich von der Tradingmethode abhängig, da die Anzahl der Trades nicht beachtet wird und so bei kleinen Gewinnspannen dennoch zu einem hochprofitablen Handelssystem führen kann. Profitfaktor: Stellt eine Erweiterung des Pay-Off-Ratio dar, durch die Einbeziehung der Häufigkeiten der Gewinntrades (cG) und der Verlusttrades (cV). Die Kennzahl ist so zu lesen wie der Wortklang, d.h. wieviel Gewinn ist pro eingesetztem € zu erwarten als Profit. Der Faktor stellt die Beziehung zwischen Gewinntrades und Verlusttrades dar. Profitable Systeme arbeiten mit Faktoren >1. Hohe Profitfaktoren werden entsprechend der Formel durch eine hohe Anzahl von Gewinntrades sowie durch hohe Gewinnsummen /niedrige Verlusttradesummen (hoher Pay-Off-Ratio) erreicht. Der Profitfaktor allein gibt keinen Aufschluss über die Tradingmethode. Die Gewinnmatrix oder die zusätzliche Einzelbetrachtung des Pay-Off-Ratios und der Gewinnwahrscheinlichkeit entzerren die Kennzahl aber zur Analyse des Handelssystems. Gewinnwahrscheinlichkeit: Anteil der Gewinntrades an der Gesamtanzahl von Trades. Die Höhe der Einzelgewinne sowie der Verlusttrades spielt hierbei keine Rolle. Gewinnwahrscheinlichkeiten <50% können profitabel sein, wenn das System beispielsweise darauf ausgelegt sind wenige sehr profitable Trades abzuschließen, unter dem Risiko vieler kleiner Verlusttrades die sich als Fehlsignale herausstellten. DDRL: Faktor aus Profitfaktor und dem Verhältnis der Summen aus den Gewinntrades und Verlusttrades. Dieser Wert sollte hohe Beachtung finden, da er alle wichtigen Faktoren eines Handelssystems einschliesst. Pay-Off-Ratio und damit das Verhältnis von durchschnittlichem Gewinn/- Verlust Verhältnis der Häufigkeiten der Gewinne/Verluste Verhältnisse zwischen Gesamtgewinn/-Verlust. Opportunität: Anderes Wort für Häufigkeit der Trades pro Jahr. Systeme mit kleinen Gewinnwahrscheinlichkeiten aber hohem Pay-Off-Ratio gelangen erst mit einer hohen Anzahl von Trades einen absoluten interessanten Gewinnwert. Diese Kennzahl gehört somit zwingend zu den Systemkennzahlen. Gewinnerwartung pro Trade/pro Jahr : Die Gewinnerwartung berechnet sich auf Basis der Gewinnmatrix. Kurz beschreibt Sie den zu erwartenden Gewinn im Verhältnis zum eingegangenen Risiko (Verlust). Die Erwartungen werden daher im als Faktor des Risikos angegeben. Das Risiko wird dabei normiert auf ein Faktor von 100€. Dieser wird in Klammern angegeben. Somit lassen sich auch konkreten Gewinnziele in € ermitteln. In diesem Beispiel sind es 23.4R d,.h. 23.4 x 200€ = 4680€ pro Jahr. Weitere Details zu diesem Thema finden SIe unter Gewinnmatrix. Ein Mausklick auf die Kennzahl öffnet dabei automatisch die Gewinnmatrix im Hauptfenster. Eine Prüfung der Details ist effizient möglich. Kennzahlen zur Kapitalentwicklung Kapitaleinsatz pro Trade: Prozentuale Positionsgröße pro Trade im Verhältnis zum verfügbaren Kapital. Volatilität: Standardabweichung des Depots bzw. Schwankungsbreite = Risikobreite des Depots. Das Depot sollte aus Risikoüberlegungen eine möglichst geringe Volatilität aufweisen. Dies wird durch eine sinnvolle Positionsgrößenbestimmung sowie dem sinnvollen Einsatz von Money Management - Techniken erreicht. Closed DrawDown: Maximaler Verlust für realisierte Trades auf Basis des aktuellen Kapitals Open DrawDown: Maximaler Buchverlust auf Basis des aktuellen verfügbaren Kapitals Sharpe Ratio: Gibt die Überschussrendite pro Risikoeinheit an. Als Risiko wird hier die Volatilität betrachtet und somit die Schwankungsbreite der Depotbewegung. Compound Return (Jahresrendite) : Heruntergerechnete Jahresrendite p.a. seit Bestehen des Depots (erste Transaktion). Die Werte erscheinen einem manchmal sehr gering, sind aber durch den Zins-Zinseszins-Effekt entsprechend realistisch zu betrachten. Das Tagesgeldkonto bringt beispielsweise zur Zeit (04.2005) 2.6%. Eine gute Erwartungshaltung wäre ein Rendite im Schnitt von ca. 8% p.a. Es gibt eine Reihe von Möglichkeiten das Depot zusätzlich auszuwerten: Auswertungsgrafiken - und Matrizen Statusleistenfunktionen (unabhängig von der Depotansicht) Sie finden hier in folgender Reihenfolge Informationen: 1. Shareholder-Version oder Statusmeldungen von Aktionen z.B. Anzahl von Watchlisten-Elemente innerhalb von Watchlisten 2. 1. Statusleistenwert (links) - einzustellen über das Kontextmenü (r.M.) in allen Listen a. Klick zeigt den zugehörigen Chart 3. 2. Statusleistenwert (links) - einzustellen über das Kontextmenü (r.M.) in allen Listen a. Klick zeigt den zugehörigen Chart 4. Genutzter interner Handelstag a. Klick erlaubt das Verändern des Handelstages Arbeitsschritte Erstellen eines neuen Depots Depotkonten einstellen Sie sollten am Anfang zunächst Ihre Konten hinterlegen bzw. die vorkonfigurierten Kontoeinstellungen aktualisieren. Hierzu finden Sie in der Haupt-Symbolleiste die Funktion "Konten". In der Depotansicht finden Sie Tabs für alle Depotkonten, die mindestens eine ausgezeichnete Transaktion "nachzuweisen" haben. Eine eingerichtete Kontonummer spielt hierbei erstmal keine Rolle im Gegensatz zum Cashbestand. Konten ohne Bestand werden nicht gelistet. Verwaltung/ Transaktionseingabe Um ein Depot aufzubauen, sind Käufe und Verkäufe von Positionen notwendig. Der Aufruf hierfür ist über das Kontextmenü der Depotansicht, Symbolleiste oder über Shortcuts möglich. Unter dem Reiter "Transaktionen" verbirgt sich die komplette Transaktionsliste . In der Transaktionsliste können sowohl Käufe & Verkäufe, wie auch Konten-Erträge und Konto-Belastungen erfasst werden. Die Transaktionen werden dabei auf Jahres/Monatsebene gruppiert. In Klammern werden hierzu die Anzahl der vorgenommenen Transaktionen in diesem Zeitraum genannt. Ändern von vorhandenen Transaktionen Hierzu wechseln Sie bitte in den Reiter "Transaktionen" und Klicken den entsprechenden Eintrag bitte doppelt mit der Maustaste an (Doppelklick). Danach öffnet sich die bekannte Transaktionsmaske mit den eingegebenen Daten. Geht es um eine Transaktion von einem Depotwert aus, so kann über das vorgestellte + Zeichen, eine Einblendung aller zugehörigen Transaktionen erfolgen. Hier muss wieder nur ein Doppelklick auf die Zeile erfolgen und es erfolgt ein Wechsel in die Transaktionsliste und eine Markierung des zugehörigen Eintrages. Löschen von Transaktionen Hierzu wechseln Sie bitte in den Reiter "Transaktionen", Markieren den entsprechenden Eintrag und wählen über das Kontextmenü (r.Maustaste) den Befehl "Löschen". Danach aktualisieren sich alle Ansichten automatisch. Depot mit aktuellsten Kursdaten aktualisieren Die Aktualisierung der Kursdaten für die Depotwerte kann, losgelöst von einer filterspezifischen Aktualisierung, jederzeit direkt erfolgen über Tai-Pan® oder Internet. Hierzu sind die Buttons "Tagesdaten" und Historische Daten (EOD) vorhanden. Es wird so in der Handhabung eine schnelle und zielgerichtete Aktualisierung des aktuellen Depotstandes möglich. Eine filterspezifische Aktualisierung (Hauptmenü.Aktualisieren.Internet.Filter) erlaubt daneben, ebenfalls eine Aktualisierungsauswahl beispielsweise auf Depotwerte, Watchlisten und Märkte. Diese Aktualisierungsform hat die Besonderheit, dass diese zeitgesteuert automatisch wiederholte Aktualisierungen vornehmen kann. Echtzeitkurse wird immer als Button gezeigt, kann aber nur auf Systemen mit Tai-Pan RT genutzt werden. Löschen eines vorhandenen Depots Unter dem Hauptmenü.Löschen kann ein vorhandenes Depot gelöscht werden. Hierbei wird unter Shareholder\Daten das aktuelle Depot (*.Depot) als Datei gelöscht. Bilanzierung von Nicht-Euro-Werten / Auslandswerten Das Thema wird dann relevant, wenn Auslandswerte in einer Nicht-Depotwährung gekauft werden und über das Depot verwaltet werden. Die Standarddepotwährung ist Euro. Wird über ein Fremdwährungskonto ein Titel in einer Fremdwährung gekauft so ist folgendes Prinzip vorgesehen: Auslandstitel (hier CISCO in US$) werden im Kaufkurs, im aktuellen Kurs und im Stopkurs in der Ursprungswährung angezeigt. Das Währungskürzel wird hierbei nur für Titel ungleich der Depotwährung angezeigt. Das Währungskürzel selbst ist der Kurzname der hinterlegten Währung in den Stammdaten. Im Depot werden die Wertberechnungen umgerechnet über die Kursdaten der verbundenen Währung, d.h. Währungsschwankungen wirken sich direkt auf den Depotwert aus. Gewinnberechnungen für das Depot werden so realistisch möglich auf Basis eines umgerechneten Kurswertes. Damit ein Titel als Auslandstitel erkannt wird, muss dieser einem Markt zugeordnet sein, dessen Einstellungen direkt auf eine Auslandswährung zeigen. Hier ein Beispiel für die Nasdaq100 Marktliste. Entscheidend ist die Zuordnung des Marktes in der Auswahlbox "Währung". Währungen werden wie alle anderen Titel als Stammdatenwerte verwaltet, mit der Besonderheit der Marktzuordnung und dessen Anlagetyp "Devisen". In der Währungsliste stehen genau diese Titel zur Auswahl und können beliebig erweitert werden. Besonderheiten für Zertifikate und Optionsscheine Werden Zertifikate oder Optionsscheine genutzt, so existieren für diese Titel zugrundeliegende Basistitel. Für ein CALL TecDAX ist dies natürlich der TecDAX selbst. Innerhalb von Depots ist es dann in der Praxis interessant, die Entwicklung des Basistitels ebenfalls wie die Option/Zertifikat "hautnah" zu verfolgen. Dies wird erreicht, indem der Basistitel unterhalb des Depottitels "aufklappbar" eingeblendet wird. Die Funktionen für den Basistitel hierbei entsprechen vollständig den normalen Depotfunktionen: Selektive Kursdatenaktualisierung mit Strg-F5 Direktzugriff auf den Chart (Mausklick auf das Chartsymbol) Direktzugriff auf News (Mausklick auf das News-Symbol) Direktzugriff auf das Profil (Mausklick auf das Profil-Symbol) Anzeige des Tages-Candle Anzeige des letzten Kurses Zugriff auf die Stammdaten mit Doppelklick auf die Zeile Weitere Funktionen über das Kontextmenü Um die Arbeit mit OS/Zertifikaten weiter zu erleichtern sind kleine Besonderheiten eingearbeitet: Depotaktualisierungen berücksichtigen die Basistitel In der Spalte "Stk" wird das Bezugsverhältnis ausgegeben (muss natürlich in den Stammdaten der Option gepflegt sein) Voraussetzungen Wird kein Basistitel eingeblendet, muss die notwendige Zuordnung in den Stammdaten (Optionsscheindaten / Basiswert (ISIN))nochmals geprüft werden und eventl. per Hand nachgetragen werden. Um in die Stammdaten zu kommen klicken Sie einfach den OS-Titel doppelt an. Einstellungen Personalisierung Anpassung der Schriftform/-farbe/-größe über das Hauptmenü Einstellungen / Anzeige Anpassung der gezeigten Spalten, sowie deren Reihenfolge/-breite möglich durch Drag&Drop der Spalten in der Anzeige Rechte Maustaste auf die Spaltenleiste zeigt ein Spalten-Konfigurationsmenü Wird die Maus zwischen zwei Spalten geführt, verändert sich der Mauscursor zu einem |. Es kann dann mit Drücken&Ziehe der linken Maustaste die Spaltenbreite verändert werden. Fensterbreiten und Position werden gespeichert Kontenverwaltung Verwaltung von Depots In Shareholder können mehrere User-Depots verwaltet werden. Jedes Depot kann mehrere Depotkonten haben wie Consors, Flatex, DiBa, Sparkasse usw. Alle Anzeigen und Einstellungen beziehen sich immer auf die aktuelle User-Depotdatei. Die Überlagerung von Entwicklungen unterschiedlicher User-Depots ist zum aktuellen Zeitpunkt nicht automatisch möglich. Um ein neues User-Depot anzulegen, finden Sie im Hauptmenü unter Depot / Neu einen entsprechenden Menüpunkt. Depotdateien werden mit der Endung ".Depot2" im Datenverzeichnis von Shareholder abgelegt. So hat beispielsweise das Musterdepot den Namen "Musterdepot.Depot2". Das Depot kann durch ein Passwort geschützt werden und führt dazu, dass bei jedem Laden/Maximieren von Shareholder das Kennwort abgefragt wird. Welches User-Depot beim Programmstart geladen wird, ist über das Hauptmenü.Einstellungen.Standarddepot festzulegen. Anzeige und Einstellungen Depotkonten Sie gelangen zur Kontenverwaltung über die Toolbar "Konten" oder über das Hauptmenü Einstellungen / Konten. Kontenliste Um ein weiteres Konto anzulegen muss auf der rechten Seite der Button "Hinzufügen" gewählt werden, danach ist sofort der Name des Kontos erfragt. Anschließend sind die Detaildaten einzupflegen. Kontobestand Intern wird ein sogenanntes Startkapital gespeichert. Da dieser Wert vom User aber nur sehr schwer kontrolliert werden kann, ist die Eingabe eines Kontobestandes möglich, der den internen Cashbestand des Kontos wiederspiegelt. Der Anfangsbestand wird nach Neueingabe intern neu zurückgerechnet. Währung Für eine spätere Version ist die Führung von Auslandskonten vorgesehen. Die Funktion steht so noch nicht zur Verfügung. Es können daher praktisch effektiv nur €-Konten geführt werden. Gebührenmodell des Kontos In Shareholder werden im Transaktionseingabeformular die Gebühren automatisch nach der Wertsumme, Gebührenmodell und dem Handelsplatz (für die Courtage) berechnet. Um diese Berechnungen durchführen zu können, müssen für das verwendete Konto das Gebührenmodell bekannt sein. Die Speicherung des Gebührenmodells erfolgt immer im Staffelgebührenmodell mit Mindestprovision und Grundgebühren. Sollte das eigentlichen Modell davon abweichen, so ist leider eine manuelle Transformation vorzunehmen. Staffelgebührenmodell bedeutet dabei, dass Wertgruppen (Von-Bis) gebildet werden mit zugehörigem Staffelprozenten. Die Prozentangaben erfolgen dabei mit Prozent/100. Der Wertebereich liegt damit zwischen 0 bis 1. Bei den Provisionsmodell sind nur die festen Gruppen (FAX, Internet und Telefon) zulässig. Die Eingaben des Provisionsmodells erfolgen fürs Inland und Ausland getrennt. Hierzu die zugehörigen Reiter am oberen Formularrand wählen. Die Gebührenberechnung erfolgt dabei nach folgendem Modell: (Internet|Telefon|Fax).Grundgebühr + Staffelprovision.Prozent Prüfung der Mindest/Maximalprovision auf Basis der passenden Staffelprovision Prüfung der (Internet|Telefon|Fax).Mindestprovision Im obigen Beispiel ist eine Staffelung definiert. Die Auslandsprovisionen finden im aktuellen Release noch keine Verwendung. Sondertarife z.B. für Heavy Trader Es gibt kein zusätzliches System zur Abbildung für Heavy Trader, d.h. da das Modell erst ab einer definierten Tradeanzahl greift sind bereits Transaktionen auf einem definierten Konto vorhanden. Hiervon abzuweichen und ein neues Depot zu eröffnen macht keinen Sinn. Es sollte somit der Rabatt in das zuvor bestehende Konto eingearbeitet werden. So werden beispielsweise bei Comdirect ab 125 Trades pro Halbjahr Sonderkonditionen eingerichtet von 15% Rabatt zeitlich befristet für das nächste Halbjahr. Diese müssen so auf die Staffelprovision.Prozenz x 0.85 als auch bei den Grundgebühren, Mindestprovisionen, Min, Max eingerechnet werden. Das Konto sollte dann beispielsweise mit "HT" gekennzeichnet werden. Nachträgliche Bearbeitungen von alten Trades führen dann natürlich zu falschen Berechnungen und sollten nur unter Prüfung der Gebühren geändert werden. Transaktionseingaben Grundsätze Im den Eingabemasken sind einige Felder automatisch berechnet auf Basis von Money Management, Depotkonten-Daten usw. Diese automatische Belegung wird jedoch verhindert, wenn bereits eine manuelle Eingabe erfolgte. Die Felder werden dann in Hellblau hinterlegt. Arbeitsschritte Auswahl eines Titels Sie können sich in den nachfolgenden Arbeitsschritten die Auswahl des Titels ersparen, wenn Sie in bereits zuvor geöffneten Listen z.B. innerhalb von Watchlisten, hier über das Kontextmenü (r.Maustaste nach Selektion des Titels) die Funktion "Kaufen" wählen. Sollten Sie keine vorherige Selektion vornehmen können, so müssen Sie nun zunächst ein Titel auswählen: Hierzu kann im Titel-Feld der Name oder die ISIN eingegeben werden und mitbestätigt werden. Es wird in der Ergebnisliste eine Liste der passenden Titel gezeigt. Kann nur ein Titel identifiziert werden, wird dieser für alle nachfolgenden Schritte automatisch selektiert. In allen anderen Fällen muss manuell auf der Suchergebnisliste der passende Titel selektiert werden. Auszuwählende Titel sollten bereits existieren innerhalb der Stammdaten / Marktlisten, bevor ein Auftrag für diesen Titel eingegeben werden sollte. Hierzu ist in den Marktlisten in der Symbolleiste "Neuer Titel" auszuwählen. Es gibt als Alternative einen automatischen Import von Titeln über Onvista/Tai-Pan EOD/Tai-Pan RT. Dieser funktioniert für OnVista allerdings zur Zeit insb. für Fonds nicht immer. Bitte geben Sie daher im Standard die Titel zuvor ein! Eingabe der Basisdaten Feld Beschreibung ISIN/WKN oder Name Geben Sie hier die eindeutige ISIN, WKN oder Name ein und schließe diese mit <Tab> oder <Enter> ab. Insb. bei der Namenseingabe wird nicht immer sofort eine eindeutige Zuordnung möglich sein. Bitte in diesem Fall aus der dann angezeigten Auswahlliste den passenden Titel auswählen. Bitte beachten Sie, dass die Titel z.B. Daimler´F für den Titel in Frankfurt steht. Andere gültige Abkürzungen sind: `N: Nasdaq, ´B: Berlin, `X: Xetra; `F: Frankfurt, `S: Stuttgart. Ist die Zuordnung sofort eindeutig, so muss keine gesonderte Auswahl aus der Auswahlliste getroffen werden und es können umgehend alle weiteren Eingaben vorgenommen werden. Zeit Bitte geben Sie hier den Kauf/Verkaufszeitpunkt ein. Das Datum wird intern für die Sortierung der Ausführung von Aufträgen genutzt. Achten Sie bitte daher bei taggleichen Aufträgen daher auf die Uhrzeit, so dass die Verkaufszeitpunkte nach den zugehörigen Kaufzeitpunkten aufgenommen werden! Kursupdate Nur wenn die Checkbox aktiviert wird, wird versucht ein Kurswert für die angegebene Zeit zu suchen Kurs Konkreter Kurswert für den Kauf/Verkauf des Titels Ausgeführt/Offen Da insb. für Stopp-Buy/Sell-Aufträge die Daten nur vorläufig sind, kann hier gesondert die Kennzeichnung erfolgen mit Offen oder Ausgeführt. Offene Aufträge werden auch im Depot gezeigt, diese fließen aber nicht in Gewinnberechnungen ein und werden auch als vorläufig gekennzeichnet. Zusammen mit der Ordernummer, kann damit ein Tracking aller Aufträge erfolgen Börse Für die Gebührenberechnung (siehe Einstellungen / Börse) kann die Courtage berücksichtigt werden. Hierzu ist die entsprechende Eingabe der Börse notwendig. Eine Veränderung des Felder bewirkt somit eine Aktualisierung des Gebührensfeldes. Depot Auswahl des zu verwendenden Depots. In Klammern wird die vorhandene Liqudität beschrieben. Diese kann über Einzahlungen aus der Transaktionsliste (Kontextmenü - Einzahlung) oder über Einstellungen / Konten direkt verändert werden. Die Auswahl hat direkte Auswirkungen auf die vorgeschlagene Stückanzahl für den Trade. Vorraussetzung hierfür ist natürlich, dass der Wert für Stücke noch nicht überschrieben worden ist. Auch das Gebührenfeld wird durch die Auswahl natürlich verändert. In Klammern (hier 270€) wird der aktuell gültige bzw. vorhandene Cashbetrag angezeigt. (Empf./Maximale)Anzahl Durch die Verbindung mit Money-Management-Funktionen wird hier automatisch ein Wert für die empfohlene Stückzahl gesetzt und kann dann manuell natürlich frei überschrieben werden. Die empfohlene Stückzahl berechnet sich auf Basis der vorhandenen Liquidät des gewählten Depotkontos, Maximales Kapitalrisiko, Stopkurs zum Titel und Kaufkurs des Titels. Für Fonds werden often nicht ganzzahlige Anteile erworben insb. bei Sparplänen. Dies ist mit 0,000 Werten erlaubt. Achten Sie bitte bei Käufen/Verkäufen auf die genaue Stückzahl um nach Verkauf tatsächlich eine Stückzahl von einem rechnerischen Wert von 0,000 zu erhalten! Hinweis Long/Shorts: Im Standard werden Sie Titel einfach nur als Long-Position eingehen wollen, d.h. Sie setzen auf steigende Kurse. Hierzu müssen Sie beim Kauf z.B. +1 als Anzahl eingeben und beim Verkauf -1 als Anzahl, um die Position aufzulösen Beim Short müssen Sie lediglich die Vorzeichen ändern d.h Kauf z.B. -1 als Anzahl und Wette auf fallende Kurse und Verkauf mit +1 als Anzahl, um die Position wieder aufzulösen Bitte beachten Sie, dass ein fließender Wechsel zwischen Long/Short erlaubt ist, d.h. Sie können +1 Long kaufen und -2 Short verkaufen. Sie haben damit automatisch eine -1 Position Short im Depot und Ihre Gesamtposition damit direkt gewechselt von Long auf Short. Warnhinweise erfolgen in diesem Moment nicht! Kontraktgröße (CFD's) Bei CFD's wird nicht nur die Anzahl der Kontrakte benötigt, sondern auch die Kontraktgröße auf den Basistitel, d.h. ein DAX 5€ Kontrakt wird mit 1x Anzahl gekauft und hat eine Kontraktgröße von 5€ zu einer Veränderung von 1P im DAX. Damit kann dann bei der Berechnung sofort umgesetzt werden, wenn sich der DAX Future um 2 Punkte verändert, dass hier eine Veränderung des Wertes um 1xAnzahl x 5€xKontraktgröße x 2 Punkte = 10€ vorzunehmen ist. Provisionsmodell Der Wert steht automatisch auf Internetmodell. Das Modell beeinflusst über das Depotkonto die Gebührenberechnung. Bitte passen Sie unter Einstellungen / Konten das Gebührenmodell an, sollte sich die vorgeschlagenen Werte für die Gebühren nicht korrekt errechnen. Mögliche Alternativen sind immer nur FAX und Telefon und lassen sich nicht erweitern durch den Anwender. Gebühren Die Berechnung errechnet sich aus: Maximum ( % Gebührenprovision des Depotkontos, Minimale Gebührenprovision ) + Maximum ( % Courtage des Börsenplatzes, Minimale Courtagegebühr ) Die Gebühren können auch manuell eingegeben werden. Spread in Punkten Für die Gesamtbetrachtung können hier versteckte "Gebühren" berücksichtigt werden, d.h. je nach Titel , nach Uhrzeit, nach Markt werden bestimmte Spreads vom Broker beim Kauf/Verkauf aufgeschlagen. Spreads sind dabei sofort verrechnete Aufschläge/Abschläge zum eigentlichen festgestellten Kurs. Das Tracking dieser Daten ist sekundär und fließt in keine weitere Berechnung ein. Die Daten werden nur in der Transaktionsliste angezeigt und dienen der Prüfung von "Spread-Ausgaben" Summe Die Summe aus Anzahl * Kurs +/- Gebühren. Eine einfache Gebühren-Rückrechnung ist jederzeit möglich, wenn der Endwert direkt eingegeben wird und mitabgeschlossen wird. Die Differenz auf Kauf/Verkauswert und Gesamtsumme ergibt dann die zugehörigen Gebühren. Der Wert dient somit der Kontrolle als auch der möglichen Eingabe. Erfolgt eine manuelle Eingabe, so wird die Differenz zwischen theoretischer Summe und der Eingabesumme durch das passende Setzen von Gebühren ausgeglichen, d.h. die Gebühren werden automatisch berechnet. GuV / [] berechnen Der Gewinn/Verlust wird automatisch berechnet. Die Berechnung erfolgt aber nur einmalig aus Performancegründen. Bitte daher manuell die "berechnen"-Checkbox setzen, sollten eine Neuberechnung notwendig sein. Der Gewinn/Verlust-Betrag kann auch manuell überschrieben werden und wird nicht überschrieben. Diese Methodik ist jedoch in der Hauptsache für die Massenimports aus Day-Trading-Daten vom Broker eingeführt worden und nicht für Depots mit wenigen Transaktionsdaten (<100). Short/Long-Positionen Siehe hierzu die Anmerkungen unter "Anzahl". Das Programm erlaubt die Verwendung von Short- als auch Longpositionen. Welche Position gerade eingenommen wurde, bestimmt faktisch das Vorzeichen der Anzahl der gekauften Positionen, d.h. Anzahl < 0 ist Short, Anzahl > 0 ist Long. Positionen werden aufgelöst durch Drehen des Vorzeichens der Position. Long/Setzen auf steigende Kurse: +X Anzahl Kauf und -X Anzahl Verkauf z.B. +1 Kauf und -1 Verkauf Short/Setzen auf fallende Kurse: -X Anzahl Kauf und +X Anzahl Verkauf z.B. -1 Kauf und +1 Verkauf Eingabe Geld / Positionsmanagement Features: Bei OS können Risiko/Chance - Einstellungen über die Stoppkurse sowohl am Basistitel, als auch am OS direkt vorgenommen werden. Die Umschaltung erfolgt per Chartklick. Der Stopp-Kurse wird nun direkt oder per Drag&Move im Chart festgelegt. Es kann hierbei ein interner Chart oder das normale Chartfenster (Doppelklick auf das interne Chart) geöffnet werden. Gleich dem Stopp-Kurs-Prinzip gilt auch hier das Drag&Move - Prinzip für den Zielkurs Stopp-und Zielkursänderungen führen zu automatischen Anpassungen im Chart, Risiko-und Chanceberechnung als auch in der automatisch Festlegung von CRV (Chance-Risiko-Verhältnissen) und der empfohlenen Stückzahl In den Programmeinstellungen sind nun definierbar: Maximales Kapitalrisiko pro Trade und insg. über alle Handelspositionen, Target-Kurs-Initialisierung, Stopp-Kurs-Initialisierung Die Risikogröße kann grafisch an einem Risikobalken frei eingestellt werden. Zudem ist nicht nur die relative Größe eingebbar, sondern auch eine absolute Risikogröße z.B. max. 1000€ Verlust. Der max. empfohlene Hebel für Basistitel wird sowohl für Short als auch Long-Engagements berechnet und angezeigt. Statusänderungen werden als Queue-Message transparent eingeblendet. Bitte achten Sie auf diese Meldungen sorgfältig, da diese einige scheinbare Unstimmigkeiten erklären sollten. Die nachfolgend beschriebene Eingaben sollten noch vor der Eingabe der Basisdaten wie Stückzahl und Kurs vorgenommen werden. Im wesentlichen geht es dabei um die Festlegung eines möglichen Verlustrisikos, d.h. des Stopp-Kurses und des max. Verlustrisikos auf das Kapital. Feld Beschreibung Gesamtkapital Darstellung des zur Verfügung stehenden Kapitals über alle Depotkonten. Der Wert dient der Kontrolle. Max. proz. Kapitalrisiko Für die Berechnung des max. Stückzahls wird ein Wert im Sinne des Money-Managements benötigt, der auf Basis des vorhandenen Kapitals einen internen max. Risikowert berechnen kann. Hierüber ist über Kurs-Stoppkurs eine max. Stückzahl sehr einfach berechenbar. Durchs Ausstoppen wird somit maximal das so gesetzte Kapital riskiert Stoppkurs Direkte manuelle Eingabe des Stopp-Kurses zum Titel. Das Feld ist automatisch gefüllt, wenn zuvor für den Titel ein Stopp-Kurs festgelegt worden ist. Dies kann jederzeit z.B. in Charts oder in Watchlisten in den Stopp-Kurs-Feldern erfolgen. Neben dem Eingabefeld kann über "..." eine Berechnungshilfe des Stopp-Kurses aufgerufen werden. Liquidität Aktuell zur Verfügung stehende Liqudität des ausgewählten Depotkontos. Es ist nicht die Gesamtliquidität über alle Konten! Aktuelles Kapitalrisiko Der Wert verändert 1:1 das max. prozentuale Kapitalrisiko. Die direkte Eingabe von gewünschten 1000€ Kapitalrisiko ist hiermit möglich. Der relative Wert wird gleichzeitig verändert. Kapitalrisiko als Trackbar Hiermit kann mit der Maus das Risiko, d.h. die max. absolutes Kapitalrisiko verändert werden. Gleichzeitig zeigt es aber auch das aktuelle Risiko auf Basis des Kurs, Stopp-Kurses und der Liquidität an. Der Zeiger wird automatisch justiert auf das aktuell tatsächliche Risiko. Wird z.B. 100% Kapitalrisiko mit 5000€ eingestellt, es ist aber nur 1000€ Liquidität vorhanden, so wird automatisch auf die Liquidität zurückgestellt. Risiko Es zeigt nochmals als Zahl das aktuelle Kapitalrisiko für den aktuellen Trade. Es soll direkt mit der Chance verglichen werden können, die nachfolgend aufgeführt ist. Die Berechnung erfolgt auf Basis Anzahl, Differenz Aktueller Kurs und Stoppkurs. Es ist daher hier entscheidend den Stoppkurs festzulegen. Risiko-Hebel Um eine schnelle Auswahl an geeigneten Hebelpapieren zu erlauben, wird unterhalb des Risikos der max. Hebel für Long- und für Shortpositionen gezeigt. Die Berechnung erfolgt auf Basis des Abstandes zwischen Aktuellem Kurs und Stopp-Zielkurs sowie der eingestellten max. Kapitalrisikogrösse. Chance Es zeigt die Chance für den Trade an und soll so den Vergleich zum Risiko zeigen. Die Berechnung erfolgt hier auf Basis Anzahl, Differenz Aktueller Kurs und Zielkurs. Es ist daher wichtig hier den Zielkurs eingegeben zu haben. Chance-Risiko-Verhältnis (CRV) Das einfache Verhältnis zwischen Chance und Risiko wird hier nochmals gezeigt. Die Anzeige verfärbt sich wenn die Chance < Risiko ist und damit <1. Im normalen Fall sollte die Anzeige grün sein. Chart Der Chart zeigt nochmals visuell die Chance und das Risiko. Beides wird über die Stopp-und die Zielkurslinie grafisch sichtbar gemacht. Beide Linien lassen sich per Maus mit ziehen. Mit einem Doppelklick gelangt man in das normale Chartfenster. Bevor dieses geöffnet wird, werden alle Stopp-Kurs-Marken gespeichert und übergeben. Nach dem Verlassen des geöffneten Charts, werden eventl. Veränderungen an diesen wieder übernommen. ... Titel siehe oben. Es gibt im unteren Teil eine Checkbox mit der eine automatische Umrechnung in den Basistitel gesetzt werden kann. Änderungen am Stopp-oder Zielkurs führen somit zu automatischen Veränderungen im Basistitel z.B. dem DAX, wenn aktuell ein Optionsschein für den DAX selektiert ist. ... Basistitel siehe oben. Auch Linienveränderungen vom Basistitel z.B. dem DAX können in die zugehörigen Optionsscheine übernommen werden. Der Basistitel-Chart wird nur gezeigt, wenn ein Titel einen "Basistitel" eingestellt hat in den Stammdaten. Ist dies nicht der Fall, wird der Tab einfach ausgeblendet. Trading-Tagebuch Feld Beschreibung Ordernummer Zur Nachverfolgung ist die Eingabe von Ordernummern möglich vom Konto Ausgeführt / Offen im System Wird ein Auftrag als Offen gekennzeichnet, so sind diese in der Depotansicht und in der Transaktionsliste als vorläufig gekennzeichnet und führen nur zu als theoretisch gekennzeichneten Anpassungen z.B. in der Liquidität Persönlicher Kommentar Hier wird ein Trading-Kommentar hinterlegt als Freitext. Es wird dabei versucht eine automatischen Vorschlag zu zeigen auf Basis aller bisherigen Kommentare. Die angezeigten Kommentare werden zusammen mit der Gesamtliste unter Hauptmenü.Einstellungen.Entscheidungen eingestellt. Ebenfalls zur Anwendung kommen diese in Deportreport - Druck. Hier werden sowohl die Entscheidungsgrundlage als auch der Kommentar ausgegeben. Entscheidungsgrundlage Grundsätzlicher Stereotyp für die Entscheidungsgrundlage. Die Liste kann frei konfiguriert werden unter Einstellungen / Entscheidungen. Die Auswahl hat nur statistischen und kontrollierenden Charakter, um nachträglich die emotionale Situtation der Entscheidung nachvollziehen zu können. Die Entscheidungsgrundlage ist daher auch bei der Eingabe ein emfohlenes Eingabefeld, dass bei Nichteingabe konsequent angemahnt wird. Es ist allerdings kein Mussfeld. Tradingauswertung Über dieses Eingabefeld können ausgeführte Aufträge nachträglich nochmals bewertet werden mit einer freien Auswertungsliste. Die Transaktionsbewertungen erlauben eine nachträgliche Bewertung von Transaktionsentscheidungen. Dies erlaubt eine saubere nachträgliche Bewertung von Entscheidungen. Diese Entscheidungen werden so zwangsläufig in Entscheidungsgruppen eingeordnet und können anschließend optimiert werden. Die Bewertungen können sofort mit einer Transaktion eingegeben werden, was allerdings so keinen Sinn macht. Die Eingabe sollte in einem vernünftigen Abstand regelmäßig nachgepflegt werden. Entscheidungen werden so bewusst nachträglich bewertet. Die Grundlage zur Optimierung von Entscheidungsgrundlagen ist somit gegeben. Exit-Strategie Mit eines der kommenden Versionen wird neben der Festlegung von normalen Stopp-Kursen auch die Möglichkeit bestehen, automatisch generierte Ausstiegspunkte über technische Indikatoren zu erhalten. Die manuelle Nachprüfung von technischen Ausstiegssignalen für alle Depotwerte wird so erheblich vereinfacht. Geplant ist die Umsetzung für die 2.9.8. Siehe hierzu auch unter: http://www.shareholder24.de/support/ browse/SHAREHOLDER-387 Hinweise Nachbearbeitung von bereits eingegebenen Aufträgen Aufträge werden innerhalb der Transaktionsliste gezeigt einsortiert nach Jahr / Monat. Sie können jederzeit eine Transaktion nachbearbeiten über ein Doppelklick auf den zugehörigen Listeneintrag. Transaktionsliste Anzeige Die Transaktionliste / Auftragsliste bildet die Grundlage für die komplette Depotverwaltung. Die Einteilung der Transaktionen erfolgt hierbei unter einer zeitlichen und inhaltlichen Gruppierung. Zunächst erfolgt die Zuordnung jeder Transaktion in zeitliche Jahr/Monat-Gruppen, danach die Einteilung in die Gruppen Transaktionen, Erträge und Belastungen sowie Vermögensumsätze (Ein/Auszahlungen). Die Transaktionsliste zeigt auch den durch die Transaktionen realisierten Gewinn/Verlust an insb. des zu versteuernden Gewinns. Hierbei gilt jedoch die Besonderheit, dass aus Performancegründen diese Angaben erst nach Verlassen der Liste oder durch eine manuell erzwungene Depotberechnung (Hauptmenüpunkt "Depot Aktualisieren" oder gleich Funktionstaste <F5>) aktualisiert werden. Filtermöglichkeit Über die Headline kann mittels Klick auf die "Punkte ..." eine Filtereingabe aktiviert werden. Diese steht z.B. für die Bezeichnung, ISIN, Typ, Depot, Börse zur Verfügung. Die Eingabe muss anschließend mit <Enter> abgeschlossen werden. Der Filter wird durch Entfernen der Eingabe (nochmals über Punkte das Eingabefeld aktivieren) wieder deaktiviert. Kommentare/Entscheidungsgrundlagen Jede Transaktion kann mit einer Entscheidungsgrundlage und einem Kommentar in der Transaktionsmaske versehen werden. Beide Felder werden in der Transaktionsübersicht angezeigt und können helfen Entscheidungen zum Zeitpunkt der Entscheidung und auch nachträglich zu überprüfen. Das eigene Handelssystem kann so systematisch mit Orderklassifizierungen (Entscheidungsgrundlage + Notiz) jederzeit geprüft werden. Arbeitsschritte Hinzufügen von Einträgen Neue Einträge werden über das Kontextmenü "Kaufen/Verkaufen" hinzugefügt. Dabei ist es entscheidend an welcher Position sich die Markierung befindet. Um neue Erträge oder Belastungen in die Liste aufnehmen zu können muß die Markierung auf dem zugehörigen Knotenpunkt "Erträge" bzw. "Belastungen" stehen. Da Kauf/Verkaufsentscheidungen oftmals in einem Kontext stehen, ist der Kauf/Verkauf von Positionen ebenfalls aus der Depotansicht oder der Watchliste mit Hilfe des Kontextmenüs möglich. Ändern von Einträgen Um Änderungen an einem bereits vorgenommenen Eintrag vorzunehmen, ist lediglich ein Doppelklick auf die zugehörige Position zu machen. Danach wird das Eingabeformular für Transaktionen geöffnet. Löschen von Einträgen Hierzu ein Eintrag innerhalb der Transaktionsliste markieren und danach das Kontextmenü öffen (Tastenkürzel : "Strg-Entf"). Die Aktualisierung der Depotansicht erfolgt hierbei in dem Moment, wenn die Liste verlassen wird. Teilausführungen Verdichten Die Verdichtungsfunktion erlaubt bei Teilausführungen von Aufträgen eine Zusammenfassung dieser zu einer Transaktion. Verdichtet werden hierbei die Gebühren, Anzahl und der Kaufkurs (als gewichteter Durchschnittskurs). Zur Verdichtung müssen die entsprechenden Transaktionen im Baum NICHT markiert werden, da alle möglichen Verdichtungen hintereinander hinterfragt werden. Die Verdichtung kann ohne weiteren Rückfragen nach der ersten Rückfarge mit "Alle Ja" ausgeführt werden. Neuzuordnung einer ISIN Da über Jahrzehnte durch Kapitalerhöhungen, Fusionen usw. Werte neue ISIN zugeteilt bekommen können, ist es möglich Papiere in Ihren Zuordnungen zu einer WKN neu zu strukturieren. Bei der Neuzuordnung werden alle vorhandenen Transaktionen mit einer Zuordnung zur alten ISIN auf die neue ISIN zugeordnet. Eine vorhergehende Markierung der betroffenen Titel ist nicht notwendig. Moneymanagement Möglichkeiten Zu dem Thema gibt es eine Menge Bücher aber nur wenige umgesetzte Hilfen. Das Thema kann sehr umfassend behandelt werden. An dieser Stelle soll es zunächst aber nur um vorhandenen Möglichkeiten in Shareholder zum Moneymanagement gehen: Kennzahlen und Auswertungen Kennzahlenberechnung zur Prüfung des eigenen Systems Aufbereitung der Equity/Kapitalkurve im Depotchart Berechnung der Gewinnerwartungen über die Trade-Matrix (pro Trade, Opportunität, pro Jahr) Positionsgrößenbestimmung und -Überwachung Stopkursverwaltung (Setzen) insb. durch Per Drag&Drop verschiebbare Chartlinien (Target/Initial-Risk-Stop) Gezielte Anwendung von Trailing Stops (automatisch nachgezogene Stops) Automatisches Setzen von Stops nach Kauf eines Wertes (siehe Transaktionsmaske, Setzen von Stops) Berechnung des Depotrisikos, Warnhinweise, wenn kein Stopkurs für eine Depotposition festgelegt ist Trading-Eingabemaske nutzt Möglichkeiten der automatischen Stop-Kurs-Berechnung, sowie der automatischen Positionsgrößenbestimmung unter Beachtung des einzugehenden maximalen Kapitalrisikos, sowie der vorhandenen Liquidität. Die Eingabe von Positionen wird somit schneller, risikobewusster und einfacher. Berechnung des empfohlenen Investitionsgrades auf Basis eines mechanischen ökonomischen Modells (nur Basis) Setzen von Stopps in Shareholder Hintergrund Stopkurse werden für jede Aktie separat hinterlegt. Die Einstellungen erfolgen über das Kontextmenü in der Depotansicht für eine Depotposition unter dem Menüpunkt "Stopkurs ...". Definition und Einstellung über Charts Hier werden sofern vorhanden, sowohl der Profit-Target-Stop, als auch der Initial-Risk-Stop eingezeichnet als gestrichelte Linien. Die rote Linie (Initial-Risk-Stop) als auch die Profit Target-Stop-Linie (grün) können per Drag&Move per Maus verschoben werden. Die Stops können so genau an wichtigen technischen Marken platziert werden. Beide Werte erlauben so auch die Bewertung eines Investments auf Basis einer CRR (Chance Risiko Relation) (siehe Money-Management). Der berechnete CRR wird im Tradingstudiounter Watchlisten gezeigt. Sind noch keine Stopkurse vorhanden für ein Titel muss über das Chartmenü Management. Stopkurs per Mausklick dieser angelegt werden. Die Linien erscheinen anschließend auf Höhe des Initialklicks. Manuelles Setzen eines Stopkurses Das Fenster teilt sich in drei Bereiche : 1. Einstellungen der einzelnen Stopkursvarianten (Initial Risk Stop, Break Even Stop, Inactivity Stop, Profit Target Stop). Die Stopkurse werden jeweils über die "..." eingestellt. Die Stopkurstypen können gleichzeitig aktiviert sein. Hierzu müssen die davor platzierten Checkboxen aktiviert sein. In diesem Beispiel ist lediglich der Break Even Stop aktiviert. Die Erläuterungen zu den Stopkursvarianten entnehmen Sie bitte direkt den nebenstehenden Hilfetexten im Formular. 2. Informationen zum aktuell aktiven Stopkurs mit: Angaben zur Gutschrift bei Verkauf des Wertes zum aktuellen Stopkurs Aktueller Stopkurs Gesetzt durch Aktivierungsdatum Es wird im Programm klar unterschieden zwischen dem aktiviertem und einem modifizierten Stopkurswert. Jeder aktivierte Stopkurs ist ein zuvor modifizierter Stopkurs der vom User akzeptiert wurde. 1. Neuer noch nicht akzeptierte Stopkurs (manuell/automatisch gesetzt) Manuelle oder automatisch gesetzte Stopkurse sind zunächst nur modifizierte Stopkurse. Erst wenn dieser Wert akzeptiert wird, so ist dieser der neue aktivierte Stopkurs. Hintergrund ist der, dass insb. automatisch gesetzte Stopkurse zunächst vom User als korrekt modifiziert angenommen werden müssen. Nur so kann der Anwender im realen Depot eventl. auch Stopkurse nachsetzen. Zielmarkenfestlegung Besteht die Möglichkeit einer Zielkursangabe so wird neben dem Editierfeld ein "..." Punktfeld dargestellt. Durch Anklicken dieses Bereiches wird ein neues Formular "Zielmarke" geöffnet. Alle Eingaben können auch im Editierfeld vorgenommen und durch Enter abgeschlossen werden. Das Formular dient nur der Eingabeerleichterung. Das Prinzip der Eingabe ist mehrstufig und basiert auf einem Punktesystem, Prozenten oder einem Faktor. Die Zielmarke wird anschließend über oder unter einem Basiskurs (Hoch, Tief, Durchschnitt, Letzter Kurs..) gesetzt. Zur Hilfe wird der resultierende Zielwert im unteren Pannel dargestellt, neben einer anzunehmenden Gutschrift bei Verkauf der Position zum aktuellen Zielwert. Trailing Stops Die automatisch gesetzten Trailing Stops können aktiviert (siehe Checkbox auf dem Screenshot) und in ihren Einstellungen unter dem hier dargestellen Reiter verändert werden. Trailing Stops werden automatisch gesetzt. In der Depotansicht werden diese so modifizierten Kurse unter dem Kürzel "Trail" (grün) dargestellt. Der Stopkurs wird jedoch erst übernommen, wenn der neu gesetzte/modifizierte Stopkurs akzeptiert wird (siehe Beschreibung oben). Für das Setzen dieses Stopkurstypes müssen folgende Mindestangaben gemacht werden: Methode/Wert (Prozente, Punkte, Faktor). Die Methode "Faktor" wird nur für den Ausgangspunkt "Faktor x Volatilität" genutzt, d.h. von der Standardabweichung (Mittel der Abweichung vom Mittelwert) wird ein Produkt mit dem Faktor gebildet und entsprechend vom Ausgangspunkt hinzu/abgerechnet. Ausgangspunkt/Ausgangswert (Hoch, Tief, Durchschnitt, Letzter Kurs) Zeitpunkte und Abstand der Prüfung in Wochen Der Wert wird zum Ausgangspunkt über/unter hinzugerechnet oder abgerechnet. Die Prüfung der Neusetzung erfolgt entsprechend der Zeitpunkte. Zwischen den Prüfungen müssen dann der Mindestabstand X in Wochen eingehalten werden. Theorie zum Stopp-Kurs-Management siehe auch Stopp-Kurs-Management Nutzen Stopkurse dienen der Gewinnsicherung und der Verlustbegrenzung im Allgemeinen. Im Einzelnen können Sie auch zur Prüfung der erwarteten Kursentwicklung und dem IST Zustand genutzt werden. Stopkurse sind in einem vernünftigen Depotmanagement nicht wegzudenken. Dies lässt sich damit erklären, dass die Märkte nicht immer der eigenen Logik bei der Anlageentscheidung folgen und oftmals andere Richtungen einschlagen und sich somit schmerzhafte Fehlentscheidungen entwickeln können. Zur dauerhaften Vermögenssicherung ist es daher dringend anzuraten, durch geschickte Wahl der Stopkurse eine Verlustbegrenzung zu nutzen. Die andere Seite ist der oftmals zu früh gewählte Ausstieg aus einer Position. Auch hier kann durch günstig gewähltes Nachziehen der Stopkurse eine Möglichkeit gefunden werden die Gewinne laufen zu lassen. Varianten und deren Anwendung Stopkurse lassen sich entsprechend der Anwendung in drei Gruppen einteilen : Verlustbegrenzung : Initial Risk Stop, Break Even Stop Gewinnsicherung : Trailing Stop, Profit Target Stop Prüfung der gesteckten Ziele unter Renditeaspekten: Inactivity Stop Anwendung in der Praxis Genauso umstritten wie die Charttechnik oder die Fibonacci-Technik bei den Anlegern ist, werden für Stopkursmanagement auch immer wieder Pro und Kontra Argumente gebracht. Ich selbst bin ein Verfechter von Stopkursen mit folgender Begründung : Was passiert wenn ich keine Stopkurse nutze ? 1. Keine Prüfung der Kursentwicklung und den eigenen Erwartungen 2. Kein Risikomanagment, Verluste werden nach dem Bauch behandelt (das geht immer schief) und es entstehen fast immer Depotleichen, bei dem auf die Kaufkurse gewartet wird. 3. Keine Gewinnmaximierung, da Gewinne zu oft zu schnell verkauft werden, schon bei den kleinsten Anzeichen von Gewinnen. Dies gilt umso mehr so länger (Siehe (2)) ein Anleger auf seinen eigenen Kaufkurs bereits warten musste ... 4. Die Kursentwicklung und die Depotentwicklung werden zu direkt abhängigen Größen ohne Grenzwerte, da entweder gar keine oder verspätet Reissleinen gezogen werden. Das häufigste Kontra-Argument : "Ich halte meine Aktien langfristig und möchte nicht durch kurzzeitige Einbrüche aus dem Markt geworfen werden". Dieses Argument unterstellt die Anlage in eine gesunde Aktiengesellschaft, sowie ein logisches Verhalten der Marktteilnehmer auf Basis von Fundamentaldaten. Diese Annahmen können jedoch nicht immer erfüllt werden und können somit zu hohen Verlustpositionen führen. Zudem wird hier ein Großteil der Gewinnmöglichkeiten verschenkt. Warum sollte ich in eine sehr stark zyklische Position investiert bleiben, die z.B. von Jan-Mar eine Rendite von 50% bringt um dann bis Jul den gewonnen Gewinn komplett abzugeben? In dieser Zeit lassen sich Positionen in andere Papieren aufbauen und gewinnbringend traden. Bei reiner Langfristanlage wäre auch ein entsprechend weit gesetzter Stopkurs möglich, der das Depot nur vor grundsätzlichen Trendwechseln schützt. Kurzfristige Marktbewegungen müssen hierbei nicht erfasst sein. Ein gutes System hierfür ist es mittels Kumulationsanalyse Kreuzwiederstände zu finden und kurz unter diesen Stopkurse festzulegen. Stopkursnutzung Offen ist bei den Überlegungen bisher ob ein reeller Stopkurs im Depot gesetzt wird oder mit überwachten Limits in Shareholder ausreichend Schutz vorhanden ist. Die Frage kann nur jeder für sein System, sein Typ beantworten. Das Nichtsetzen von reellen Limits kann bei tragischen Meldungen schnell zu einer tragischen Depotleiche führen. Zudem muss der Anleger die Disziplin haben Stoppkurse nicht nachzuziehen zur Kursentwicklung (also auch nach unten) und bei Erreichen eines Stopkurses konsequent verkaufen. Klare Vorteile sind dagegen die Ersparnis von Aufwand/Kosten für reell gesetzte Stopkurse, sowie dass das gezielte Auslösen von Stoppkursen durch Trader nicht möglich ist (mit Marktlevelsicht sind Stoppkurse sichtbar). Entscheidend bei den Überlegungen sind die Kosten, sowie die Disziplin des Anlegers. Aus meiner persönlichen Sicht sollte lediglich der Initial-Risk-Stop gesetzt werden. Exit-Points sollten technisch (Charttechnik) gesucht werden und nicht über automatische Trailing Stops. Trailing Stops sind effektiv über Kreuzwiederstände zu setzen (Charttechnik) in Shareholder. Bei Erreichen dieser Exit-Points wird dann konsequent ein passender Limitkurs am Markt gesetzt. Der Unterschied ist hier eindeutig, es wird bei den Trailing Stops nicht unlimitiert sondern mit Limit seine kostbare Fracht auf den Markt geworfen. Auswertungsgrafiken - und Matrizen Hauptreiter "Tradingmatrix" Übersicht realisierte Positionen Spalte Erklärung Bezeichnung Name des Wertpapiers: Erscheint hier ein '-' so existiert in der Datenbasis kein Wertpapier, welches die in der Transaktion verwendeten WKN besitzt. Daher muß in der Datenbasis ein entsprechender Eintrag erzeugt werden. Hinter dem Namen können in Rotschrift +K (offene Kauforder) oder -V (offene Verkaufsorder) erscheinen. Dazu muß eine Transaktion in der Transaktionsliste vorhanden sein mit der Einstellung "Nur Auftrag". Anz Summe der jemals verkauften Stücke ohne Beachtung eines Abrechnungszeitraumes Kaufkurs Gewichteter Durchschnitts-Kaufkurs. Berücksichtigt werden in dieser Berechnung alle Käufe. Verkaufskurs Gewichteter Durchschnitts-Verkaufskurs. Berücksichtigt werden in dieser Berechnung alle Verkäufe Verschenkt Wären die bereits verkauften Stücke bis heute gehalten worden und zum aktuellen Kurs verkauft, so würde sich der hier angegebene Gewinn oder Verlust ergeben. Die Berechnung erfolgt einfach über Anz * ( Kurs - Gewichteter-Verkaufskurs ) Wert Aktuelle Kurs des Papiers Gebühren Summe der angefallenden Gebühren für alle Transaktionen die dieser Position zugeordnet werden können. Es werden damit sowohl Käufe wie auch Verkäufe berücksichtigt. Steuern Höhe des zu versteuernden Gewinns. Die Summe wird für alle Verkaufstransaktionen berechnet Gewinn Höhe des bis diesem Papier erzielten Gewinns ( Kumulierte Gesamtsumme ). Die Gewinnsumme ist dabei bereinigt um die Gesamtsumme der Gebühren. Gewinnerwartungsmatrix Hier finden Sie die Aufbereitung der bisherigen abgeschlossen Transaktionen in eine Gewinnmatrix, die genutzt wird zur Berechnung einer wahrscheinlichen Gewinnerwartung. Die Auswertung gehört zum Thema des Moneymanagements. Dargestellt sind maximal 15 absolute Ergebnisbereiche, d.h. der größte Verlust/Gewinn wird zur Bildung einer angemessenen Risikoeinheit R genutzt. Im Minimum ist diese Größe 100€ groß. Diese Risikoeinheit unterteilt in einer Matrix nun alle Trades in die entsprechenden Bereiche. Im Ergebnis stehen sich die Gewinntrades und Verlusttrades mit Ihrer Häufigkeit und Wahrscheinlichkeit gegenüber. Hier am Beispiel ist eine Risikoeinheit 200€ groß. In der Range 1..200€ und damit für 1xR werden 10 Gewinntrades abgeschlossen und 16 Verlusttrades. In der größten gemachten Risikoeinheit 23R und damit zwischen 4401 und 4600€ wurde nur ein Trade abgeschlossen. Die Matrix hilft einen Überblick über das eigene Handelssystem zu bekommen und Fragen wie: Häufigkeit von Verlusttrades/Gewinntrades Effizienz von Stopmechanismen Effizienz der Positionsgrößen Opportunität/Anzahl von Gewinntrades/Verlusttrades in welchem Bereich Balance zwischen Häufigkeit und Höhe von R in den einzelnen Trades und vor allem und letztlich die wahrscheinliche Gewinnerwartung pro Trade sowie pro Jahr zu ermitteln. Die Gewinnerwartung pro Trade sagt dabei in diesem Beispiel mit 1.48R, dass bei jedem Trade zur Zeit im Schnitt für 1R 1.48xR als Gewinn erwartet werden kann. Warum diese Bezug zur Risikogröße? Mit jedem Trade wird ein definierbares (im Zweifel - aber selten praktisch - 100% der Einsatzgröße) Risiko eingegangen. Dieses tatsächlich umgesetzte Risiko (Verlust) drückt sich mit der Anzahl der Trades als Summe der Verlusttrades aus, die der Summe der Gewinntrades gegenübersteht. Symbolisch stehen so dem Risiko R der Gewinn G gegenüber. Mit 1.48 Gewinnerwartung steht so 1R = 1.48G gegenüber. Da R und G die gleiche Größeneinheit (hier 200€) besitzen kann die verkürzte Schreibweise 1.48R genutzt werden. Handelssysteme arbeiten sehr unterschiedlich. Eine Pauschalaussage ist so für die Matrix nur schwer möglich. Eine Interpreation erfordert Kenntnisse vom System. Folgende Prüfungen können jedoch fast immer sinnvoll vorgenommen werden: Gewinntrades werden regelmäßig mit >1R abgeschlossen (werde Gewinne tatsächlich effizient laufen gelassen) Verlusttrades gehören zum Trading, da nicht jede Position in die gewünschte Richtung laufen wird. Zu prüfen ist jedoch ob die Verlusttrades möglichst in der Mehrzahl = 1R sind. Andernfalls wurden Stopkurse nicht gesetzt, nicht eingehalten oder beispielsweise auch die Tradeposition zu hoch gehalten (Positionsgröße zu hoch) Ein Idealbild wäre beinahe erreicht, wenn auf der Verlustseite lediglich mit 1xR Trades abgeschlossen werden. Die Gewinnseite werden über die am oberen Ende der Bandbreite liegenden mit 4R,5R usw. xR abgeschlossen. Höhere xR's sind hier natürlich wünschenswert. Nach den Ausführungen sollte klar sein, dass Gewinnerwartungen immer über >1R liegen sollten, da nur dann am Ende ein positiver Abschluß auf Ihrem Konto stattgefunden hat. Werte <=1R sollten schleunigst zur Prüfung Ihrer Strategie führen. Die Matrix kann helfen hier grundsätzliche Schwächen Ihres Systemes zu finden. Auswertung Entscheidungen bzw. Entscheidungsmatrix Die Transaktionsauswertung erlaubt eine Auswertung der Einstiegs- und Ausstiegsgründe. Die Gründe werden in Kategorien (frei konfigurierbar) mit Freitext innerhalb der Transaktionsmasken eingegeben. Der Vergleich erfolgt dabei zweistufig. Die erste Stufe sind die direkten Gründe für den Einstieg. Die zweite Stufe sind die Bewertungen der Gründe, die immer nur nachfolgend erfolgen kann mit zeitlichen Abstand. Die reine Bewertung anhand des Tradeergebnisses erscheint in der Analyse zu oberflächlich. Für eine vollständige Analyse müssen für alle Trades (Kauf/Verkauf) entsprechende Gründe und Freitext-Notizen eingetragen werden. Ohne diese ist nur eine einfache Sortierfunktion nach Transaktionsergebnis und Datum möglich. Eine kritische Analyse des eignen Anlageverhaltens ist dann unmöglich. Mögliche Aussagen Durch die Sortiermöglichkeit nach Tradeergebnis (Transaktion) sind auf den Zeitebenen Monat, Jahr, seit Depotstart die erfolgreichsten und verlustreichsten Trades sehr schnell in einer Übersicht zu erkennen. Durch Gegenüberstellung der Einstiegs-und Ausstiegsgründe ist eine nachträgliche Analyse des eigenen Anlageverhaltens und eventuelle Korrekturen möglich. Wird nur die Zeitebene (Monat) verwendet durch Auswahl des unteren Tabreiters "Monat", so können gezielt alle Monatstransaktionen nochmals kritisch geprüft werden. Hauptreiter "Depotcharts" Die Aktualisierung der Grafiken erfolgt im Hintergrund (Threadprozess) nach dem Laden eines Depots bzw. nach der Aktualisierung der Kursdaten. Die Grafiken werden beim Berichtsdruck 1:1 verwendet. Sollen im Bericht andere Zeiträume verwendet werden, so sind zuvor die Einstellungen der Grafiken zu ändern (3D Ansicht, Zeitraum usw.) Positionierung Die Positionierung hat als Hauptaufgabe, die Darstellung der Diversifikation und damit der Streuung des Depots. Im Verhältnis hierzu wird per Linie die aktuelle Cashreserve über alle Konten gezeigt. Pro Wert wird ein Balken aufgebaut der neben dem Titel auch den prozentualen Anteil am Gesamtdepot (Summe muss 100% sein) darstellt. Hierbei zeigt der kleinere linke Wert den Anteil unter Einbeziehung der Liquidität als eigene Investitionsform (Geld auf dem Tagesgeldkonto geparkt). Gewinnentwicklung Die Gewinnentwicklung berechnet rückwirkend bis zum festgelegten Stichtag die Entwicklung des Depots. Für die Berechnung sind korrekte historische Kursdaten für die Transaktionswerte zwingend. Dargestellt sind hierbei im Einzelnen: Chartlinie Beschreibung Buchgewinne(Open) Gewinne im aktuellen Depot Realisierte Gewinne(Closed) Bereits realisierte im Depot verbuchte Gewinne Ein-und Auszahlungen Die Darstellung zeigt die gemachten Ein-und Auszahlungen im gewählten Zeitraum. Ein Klick auf die Punkte auf der Ein-und Auszahlungslinie, erlaubt das direkte Springen zur betroffenen Transaktion. Diese kann anschließend direkt verändert werden. Kapitalentwicklung (Open+Closed) Closed + Open Kapitaleinsatz Im Depot befindlicher Kapitaleinsatz zum Stichtag. Die Darstellung erfolgt als Flächenchart 1 und 2. Vergleichswert Die Vergleichswerte sind die in der Statusleiste genutzten Werte. Diese werden in den Kurslisten über das Kontextmenü "Statusleiste.Links", "Statusleiste.Rechts" festgelegt. Tradingergebnisse Die Tradingergebnisse zeigen auf einer Zeitachse mit monatlicher und wöchentlicher Einteilung realisierte Gewinne/Verluste. Gerade bei aktivem Trading zeigen die Wochencharts zusätzliche Vergleichswerte über die Zeitachse. Die Monatsansichten kummulieren diese Tradingergebnisse. Diese können beispielsweise genutzt werden, um einen Summenwert pro Monat in einem anderen System wie z.B. MS Money zu übernehmen. Die vollständige Übernahme aller Transaktionen in das zweite System und damit die Doppelpflege wird so vermieden. Shareholder wird dann natürlich als führendes System betrachtet mit Detailaufstellungen. Day-Trading Hier werden wesentliche Kennzahlen für das eigene Trading zusammengeführt und einem historischen Verlauf gezeigt. Die Zeitachse richtet sich nach den Datums-Einschränkungen in der Ribbon-Bar unter "Depotcharts". Day-Trading-Analyse nach Verkaufs-Zeitpunkt Mit dieser Grafik werden die Verkaufszeitpunkte der vergangenen Tage analysiert. Dabei ist das Stundenraster auf der X-Achse und das Datum auf der Y-Achse. IN den Felder ist farblich kodiert das Trading-Ergebnis. Ziel ist es hierbei "unwirtschaftliche" Trading-Phasen herauszufinden und auf dieser Basis weitere Analysen zu fahren. Hauptaugenmerk liegt dabei auf Phasen, die extrem volatil sind bzw. mit dem eigenen System weniger harmonieren und daher umgehend zu Verlusten führen (Ausstopp-Positionen). Es wird daher aktuell keine Analyse vom Kauf-Zeitpunkt vorgenommen, sondern nur vom Verkaufs-Zeitpunkt. Berichte und Reports Arbeitsschritte Reports bzw. Berichte werden genutzt um den aktuellen Depotstand zu drucken oder zu publizieren (ins Internet als HTML Bericht). Ein Report wird erstellt über das Hauptmenü "Depot - Berichtsdruck". Über eine Stichtagsabfrage legen Sie den Berichtszeitpunkt fest, d.h. die Kontostände, Transaktionslisten usw. gelten für den Stichtag bzw. bis zum Stichtag. Ansicht Die Reportansicht gliedert sich zum einen in ein Vorschaufenster und einem Einstellungsbereich. Im Einstellungsbereich lassen sich Berichtszeiträume, Inhalte und Layout festlegen. Über die Reportauswahl läßt sich ein vordefiniertes Layout auswählen. Das Layout wird durch sogenannte XSL Files bestimmt, die bereitgestellte XML Files aufbereiten als HTML Dateien durch eine XSLT-Transformat ion. Zur Anzeige kann so der Standardbrowser verwendet werden (Firefox, Safari, IE, Opera usw.). Die Vorschauansicht erfolgt allerdings mit den Möglichkeiten des installiertem Internet Explorers. In diesem Beispiel sind im Shareholder\Report-Verzeichnis drei Report*.XSL Dateien vorhanden: Report.Default.XSL und Report.Export.CSV.xsl und Report.Musterdepot*.xsl. Die Export.CSV kann genutzt werden um die Depotdaten nach Excel als CSV-Datei zu exportieren und stellt ein sehr einfaches Beispiels für eine XSL-Format-Datei dar. Einstellungen Werden die Einstellungen zu einem Report geändert, wird nach dem Refresh die neue Ansicht angezeigt. Mit Veränderung der Einstellungen für Zeiträume und Umfang, wird die vorbereitete XML-Datei verändert und damit der mögliche Output auch für die XSL-Datei. Weitere Details finden Sie unter Eigene Berichte und Reports. Drucken Der Ausdruck erfolgt über den Standardexplorer des Systemes. Der Ausdruck ist optimiert für den Hochformat-Druck, wenn Depot-Grafiken verwendet werden. Bitte beachten Sie in diesem Zusammenhang, dass ein farblicher Ausdruck nur möglich ist, wenn die entsprechenden Einstellungen im IE gesetzt sind insb. die Einstellung fürs Drucken/Printing mit Druck der Hintergrundbilder und -Farben sollte aktiviert sein. Prüfen Sie auch unter Datei.Seiteneinstellungen, ob die Header und Footerdaten entfernt sind, da sonst unnötigerweise die Herkunftsadresse usw. ausgedruckt wird. Eigene Berichte und Reports Hintergrund Berichte werden in Shareholder als HTML Datei abgelegt. Der Ausdruck selbst wird hierbei auch nicht von Shareholder organisiert, sondern dem installierten Standardbrowser überlassen. Die Berichte selbst werden aufgrund von XML/XSL Vorlagen erzeugt. In diesen Vorlagen wird auf Basis von XSL Steuerkommandos die verbundene XML-Struktur ausgewertet und in HTML Steuerbefehle umgesetzt. XSL Dateien liegen unter Shareholder\Report. Für die Depotreports sind alle Report.*.XSL Dateien interessant. Generierte Bilddateien werden unter \Report\Temp abgelegt ebenso wie die generierten Reportdateien als XML Files. Sie finden hier übrigens auch die XSL Files für den Chartdruck und für den Depotdruck. Folgende Zuordnungen gelten zur Zeit: Print.Chart.XSL - Transformation beim Chartdruck Print.Depotchart.XSL - Transformation beim Reportdruck in den Depotgrafiken Print.Liste.XSL - Transformation bei Druck von Kurslisten Report.*.XSL - Transformationdateien für den Depotdruck XML Struktur Alle Daten die für den Druck verwendet werden sind in der Report.XML Datei abgelegt. In dieser Datei werden zunächst alle vorhandenen Daten abgelegt. Die XSL Datei entscheidet dann aufgrund den Eintragungen im XPath (/Depot/Einstellungen) was angezeigt werden kann und soll. Den Möglichkeiten der Berichtgestaltung sind kaum Grenzen gesetzt. Allein die vorhandenen Datenmenge schränkt die Informationsdichte ein. Der nachfolgende Screenshot zeigt die Struktur der Daten. XSL Files Die XSL Files enthalten die Umsetzungslogik der XML Daten in HTML Steuercodes. Wenn Sie hier eigene Templates anlegen möchten, finden Sie weitere Informationen unter: http://www.xsl-rp.de/index.php?top=1&sub=2&action=index http://de.wikipedia.org/wiki/XSL_Transformation Webseiten-Berichte-Reporting Anwendung und Ziel Ziel ist die Möglichkeit automatisiert oder manuell Depotdaten Watchlisten Equitiycharts Chartbilder bereitzustellen über über einen online-FTP Zugang oder einen lokalen Server. Das Modul ist über den Shortcut "Strg-W" zugänglich und kann so konfiguriert werden, dass nach jeder Kursaktualisierung (manuell/automatisch) die Bereitstellung automatisch erfolgt. Die lokale Bereitstellung macht insb. dann Sinn, wenn ein entsprechender Webserver lokal konfiguriert über Network-Appliance-Geräte, kleinen Linux-Servern oder einfach über einen lokalen Apache bereitgestellt werden soll. Der direkte FTP Upload ist für die Bereitstellung über Websites vorgesehen. Beispiele http://www.shareholder24.de/community-diskussionen-blog-musterdepot/musterdepot-beispieldepot-mit-shareholder-reports Technische Hintergründe Vorraussetzungen Die aktuellen Pfade in den Transformationsdateien (XSL) sind so eingestellt, dass auf dem Zielserver folgende Pfade und Dateien vorhanden sein sollten: [Root] Parallel zum Root-Verzeichnis (hier Temp-Verzeichnis) \Bilder \Bilder\New Age Über dem Root-Verzeichnis muss einmalig die format.css Datei sowie die Report.js - Javascript - Datei abgelegt werden. ..\Format.css ..\Report.js Uploadumfang Die bei einer Bereitstellung zur Verfügung gestellten Dateien werden dabei so gering wie möglich gehalten. Der Uploadumfang richtet sich nach dem Umfang der gewählten Optionen. Werden Depotreports gewählt, wird zu jedem Depot das entsprechende *.Depot ebenfalls als Orginaldatei geuploaded. Diese kann dann direkt über die Funktion "Lade Depot von URL ... " bereitgestellt werden. Die Datei "Internet.Depots.txt" im Datenverzeichnis enthält hierzu alle notwendigen Einstellungen. Die Datei muss manuell angepasst werden. Per default enthält Sie lediglich folgende Informationen: [Depots] http://www.shareholder24.de/download/Tradingdepot.2004.Depot Für die Depotdateien wird das in den Formulareinstellungen (siehe oben) definierte Root-Verzeichnis für Depotdateien verwendet, da hier im Normalfall ein spezieller Downloadordner genutzt werden soll. Werden die Depot/Watchlistencharts bereitgestellt, so werden alle Charts geöffnet und die zugehörigen Chartbilder gespeichert. Die Charts öffnen sich hier wie auch bei manuellem Aufruf, d.h. mit allen individuellen Einstellungsparametern für diesen Chart. So können gezielt auch Kommentare, Unterstützungslinien usw. eingeblendet werden. Arbeitsschritte Bereitstellungstyp Je nach technischen Bedürfnissen kann eine XML oder eine bereits transformierte HTML (mittels XSL) online gestellt werden. Reine XML-Dateien können so gezielt mittels Python/PHP/ASP/JSP auf dem Server geparst und ausgewertet werden. Komplexe Auswertungsszenarien sind so für mich vorstellbar. Bei der XML Bereitstellung muss die Bereitstellung der zugehörigen XSL-Dateien und/oder Logiken vom Anwender erfolgen. Die Defaultanwendung werden allerdings die HTML-Dateien geuploaded. Um den Umfang hierbei gering zu halten, werden lediglich die erstellten Grafiken und HTML-Dateien geuploaded. Eventuell notwendige CSS, Javascript und Bilddateien müssen manuell bereitgestellt werden. Folgende Dateien sollten manuell auf dem Zielserver einmalig bereitgestellt werden (alle zu finden unter Shareholder\Report): Report.js Format.css Bilder\GreenPixel.gif (Prozentdarstellung) Bilder\RedPixel.gif (Prozentdarstellung) Bilder\New Age*.gif (Alle Grafiken) Die XSL-Dateien sind zur Zeit so konfiguriert, dass ausgehend vom aktuellen Ordner die Bilder/Scripte/CSS-Dateien im übergeordneten Ordner vorliegen, d.h. wird in Server\Temp das Root-Verzeichnis (siehe oben) definiert muss unter Server\ die Report.js, Format.css liegen und unter Server\Bilder die Bilddateien. Als erste Referenz ist unter www.shareholder24.de die Integration des Tradingdepots vorhanden. Protokollauswertung Das Protokoll gibt Auskunft während der Bereitstellung über den Fortschritt und dem Status der Einzelaktionen. Auch bei automatisierten Aufrufen wird das Protokoll aufgebaut und angezeigt. Sparpläne Wiederholte Zahlungen auf Basis von Sparplänen lassen sich in Shareholder als solche erfassen. Hierfür werden alle notwendigen Daten im Hauptmenü unter "Einstellungen / Sparpläne / Einstellungen" vorgenommen. Sparpläne werden intern als termingebundene Kauftransaktionen verstanden, die in einem festgelegten Zeit- und Budgetrahmen stattfinden. Ausführung Die Prüfung, ob ein Sparplan ausgeführt werden soll, erfolgt nur beim Start von Shareholder für aktivierte Sparpläne (siehe Checkbox: "Aktiv"). Beachtet werden hierbei die Einstellungen für den Starttermin, die letzte Ausführung, dem Endtermin und dem Kaufintervall. Da nicht davon ausgegangen wird, dass Shareholder jeden Tag gestartet wird, ist beim Vergleich insb. die letzte Ausführung entscheidend. So wird bei einem Sparplan mit Start 01.03.2005 und einer letzten Ausführung am 01.03.2004 bei einem monatlichen Einzahlungsplan der Sparplan ausgeführt. Der Sparplan wird hier allerdings genau einmal ausgeführt und die letzte Ausführung auf das aktuelle Datum gesetzt. Definition der Kaufposition Die Zuordnung einer Kaufposition erfolgt über die ISIN des Titels. Es kann somit pro Sparplan nur eine Position definiert werden. Handelt es sich um einen komplexeren Sparplan mit mehreren Teilpositonen muss ein Aufteilung der Einzelposition vorgenommen werden. Die ISIN zu einer Position/einem Titel muss zwingend korrekt vorliegen. Da ein Sparplan als eine normale Transaktion eingestuft wird, kann zu jedem Sparplan eine Entscheidungsgrundlage hinterlegt werden. Einzahlungen können automatisch verbucht werden. Verfälschungen der Kontobilanz/Cashbestandes werden so vermieden. Neben der eigentlichen Kauftransaktion wird so eine Bareinzahlung als Transaktion hinterlegt. Wird dies nicht aktiviert führt die Position lediglich zu einer negativen Belastung des Depots. Einmalzahlungen Um eventuelle Sonderzahlungen vornehmen zu können und die Aufschlagsberechnung nicht selber durchführen zu müssen, sind Sonderzahlungen möglich. Die Sonderzahlungen bleiben bei der Betrachtung der Kaufintervallen unberücksichtigt, verwenden aber die komplette Verrechnungslogik einer normal eingezahlten Sparplanposition. Stopp-Kurs-Management Depotansicht und Stopp-Kurs-Berechnungen Besonderheiten für die Berücksichtigung als Risikoposition Besonderheiten in der Berechnung Grundprinzip der Stoppkurse Anpassung und Auslösen von Stoppkursen Unterscheidung V der Stopps zur Kaufsumme / G/V der Stopps zur Kaufsumme und G/V der Stopps zum Depotwert Gesamtüberwachung der vorhandenen Stoppkurse Depotansicht und Stopp-Kurs-Berechnungen Nachfolgend ein einfaches Depot-Beispiel. Zur Vereinfachung sind es aber vollständig in € erfasste Titel und normale Aktientitel oder Optionsscheine (keine CFDs, womit keine echten Shorts behandelt werden). In Shareholder erfolgt dabei eine technische Unterscheidung zwischen Long und Shorts, womit Shorts tatsächlich eine negative Stückzahl besitzen und Gewinn machen, wenn der AK kleiner als der KK ist. AK-Wert SMI Long 272,00 € EK-Wert Stk 76,50 € Aktueller Kurs (AK) 5,44 € Kaufkurs (KK) 1,53 € Stopp 1,93 € Buchgewinn 195,50 € Erlös per Stop 96,50 € Risiko/Gewinnabsicherung als (Stopp-KK) * Stk für Long (KK-Stopp) * Stk für Short 20,00 € Hinweise NO RISK 50,00 Keine Risikoposition mehr EURUSD 98,50 € Short 45,50 € 3,94 € 1,82 € 1,14 € 53,00 € 28,50 € -17,00 € RISK 25,00 Position durch den gesetzten Stopp nachwievor im Risiko, da nur zählt wo die Position mit dem Stopp abgesichert wurde RTS Long 972,00 € 722,00 € 4,86 € 3,61 € 3,90 € 250,00 € 780,00 € 58,00 € NO RISK 200,00 Keine Risikoposition mehr Dax Long 1.232,96 € 968,33 € 112,09 € 88,03 € 11,00 104,13 € 264,63 € 1.145,43 € 177,10 € NO RISK Keine Risikoposition mehr AT&T 1.549,95 € 1.327,50 € 31,00 € 26,55 € 26,61 € 222,45 € 1.330,50 € 3,00 € 50,00 Athex Short 260,00 € EON 1.419,00 € 225,00 € NO RISK Keine Risikoposition mehr 0,52 € 0,45 € 0,28 € 35,00 € 140,00 € -85,00 € RISK 14,19 € 12,60 € 12,70 € 159,00 € 1.270,00 € 10,00 € NO RISK 500,00 1.260,00 € 100,00 Keine Risikoposition mehr Ferratum 1.858,00 € 1.799,00 € 18,58 € 17,99 € 18,00 € 59,00 € 1.800,00 € 1,00 € NO RISK 100,00 Keine Risikoposition mehr Öl Long 1.320,00 € 1.279,20 € 33,00 € 31,98 € 0,00 € 40,80 € 0,00 € -1.279,20 € 40,00 FULL RISK / NO STOP Risiko=EK-Wert da kein Stoppkurs gesetzt und damit mit 0 angenommen wird Shell 889,50 € 927,60 € 29,65 € 30,92 € 25,00 € -38,10 € 750,00 € -177,60 € RISK 0,36 € 0,43 € 0,33 € -70,00 € 330,00 € -100,00 € RISK 30,00 Balda 360,00 € 430,00 € 1.000,00 Depotwert: 10.231,91 € Einkauf: 9.060,63 € Buchgewinn: 1.171,28 € Depot-Risiko (Positionen mit Verlust im Stoppkurs-Fall) -1.658,80 € Summe nur der echten Verlustpositionen Depot-Gewinn/Verlust -1.389,70 € Summe der Gewinne/Verluste insgesamt, wenn alle Stoppkurse ausgelöst werden (bei vollst. Stoppauflösung) Wichtig ist dabei die Einordnung, dass es nicht darum geht, was der Erlös bei einer Stopp-Auslösung ist, sondern mit welcher Absicherung das Depot aktuell abgebildet ist und welches Risiko auf dem Depot liegt. Dieses wird durch die Summe der Einzelrisiken d.h. was pro Depotwert an Kapital im Risiko steht bestimmt. Das Einzelrisiko ist immer nur die Differenz zwischen Stopp und Kaufkurs optional unter Einbeziehung der Transaktionskosten. Wenn ich einen Titel für 2x 100€ eingekauft habe und der Stopp bei 80€ steht dann verliere ich bei Stoppauflösung 2x 20€. Das ich dabei wieder 2x 80€ gutgeschrieben bekomme ist unwichtig, sondern nur wieviel steht die Position im Risiko d.h. dass ich 40€ Verlust zu verkraften habe. Die Aufsummierung soll damit zum aktiven Umgang mit den Stoppkursen motivieren. In diesem Beispiel sind damit 1.171,28€ Gewinn aufgelaufen, das Depot aber "nur" so abgesichert, dass bei z.B. extremen Marktbewegungen die Positionen durch die Stopps nur mit -1.389,70€ aufgelöst werden können. Besonderheiten für die Berücksichtigung als Risikoposition Um in die Risikoberechnung berücksichtigt zu werden, müssen folgenden Bedingungen erfüllt sein: Position muss realisiert sein (Checkbox in der Transaktionsmaske, Standard ist jedoch aktiviert) Long und Short-Positionen werden unterschieden, so dass für Long: Stopp-KK gilt und für Short: KK-Stopp Wenn die Positionen aufgerechnet werden erfolgt zusätzlich eine Währungsumrechnung auf die vorhandenen Währungsdaten. In der Depotansicht sollte daher immer vorsichtshalber auch die Währungsspalten angezeigt werden (rechte Maustaste auf den Spaltenköpfen), um hier eventl. Umrechnungsfehler durch fehlende Währungskursdaetn zu vermeiden. Besonderheiten in der Berechnung Wenn eine Position jetzt bereits im AK unterhalb des Stoppkurses sich bewegt, dann ist die Position natürlich mit der aktuellsten GuV statt dem Stopp-Value berücksichtigt. Es macht kein Sinn das Risiko ideal zu betrachten, wenn praktisch der Stoppkurs bereits gerissen ist und die Position deutlich stärker im Minus ist. Beispiel siehe unten "Anpassung und Auslösen von Stoppkursen". Grundprinzip der Stoppkurse Hier einmal ein vereinfachte und unvollständige Darstellung der technischen Stoppkurs-Realisierung: Stoppkurse werden immer an einem Titel gehalten und nicht an einem einzelnen Depotwert. Dies hat mehrere Nachteile, da beispielsweise nicht mehrere Stoppwerte für Einzelpositionen zu einem Titel (Depot-Pyramidisierungsansätze) gehalten werden können und auch keine unterschiedlichen Stoppkurse pro Konto/Depot gehalten werden. Es ist jedoch bewusste in dieser Form umgesetzt, um sich zu fokussieren auf zentrale Net-Value-Stoppkurse und die Verwaltung der vorhandenen Stoppkurse zu vereinfachen und praktisch von allen Sichten in Shareholder zugänglich ist wie Chart, Watchlisten, Depotansicht etc. Komplexe Stoppkurs-Konstellationen sollen und müssen daher direkt beim Broker/auf dem Trading-Investment-Konto erfolgen. In Shareholder selbst wird hier damit gezielt trivialisiert abgebildet. Ein einzelnen Stoppkurs hat immer einen akzeptierten Stoppkurs-Wert und einen vorgeschlagenen Stoppkurs-Wert. Idee ist es immer den User die Möglichkeit zu geben, Stoppkurs-Vorschläge zu machen z.B. für einen Break-Even-Stopp. Dieser muss jedoch akzeptiert und angenommen werden um tatsächlich auch ausgelöst werden zu können. Ausgelöst heisst hier, dass eigene Aktivierungsfenster gezeigt werden. Ziel war es dabei zusätzlich bewusst mit dem akzeptieren von Stoppkursen auch in den echten Depots den manuellen Stoppkurs anzupassen. Anpassung und Auslösen von Stoppkursen Zum öffnen der Stoppkurs-Masken für einen Titel diesen markieren und das Kontextmenü mit der rechten Maustaste öffnen und dort "Stopkurs..." wählen. Alternativ kann der Shortcut <Strg><S> gewählt werden. Hier als einfaches Beispiel einmal zusammengefasst: Deutsche Bank ist gekauft für 33€, aktuell mit 29,56€ bereits im Minus und gesamt mit einer GuV (ohne Gebühren) bei -310,05€ Der letzte akzeptierte Stoppkurs ist aber bei 30€ und würde damit nur ein Risiko von 270€ darstellen. Da nicht davon ausgegangen wird, dass die Stoppkurse auch produktiv 1:1 gesetzt sind, wird damit als Risiko im Depot hier die -310€ angenommen Mit ACHTUNG: <Stopp-Wert-Quelle> und <Stopp-Wert> wird ein ausgelöster Stopp im Depot angezeigt und es kann entsprechend manuell der Wert verkauft werden, wenn kein echter Depot-Stopp beim Broker hinterlegt worden ist Ein neuer Stoppkurs kann nun im entsprechenden Feld "Neuer Stoppkurs" gesetzt werden und mit dem "Hammer" oder <Enter> eingegeben werden. Damit ist der Stoppkurs zunächst aber nur modifiziert. Um diesen praktisch zu "aktivieren" muss dieser einmal aktiviert werden über die Checkbox "Akzeptieren". Danach wird dies zum neuen Stoppkurs. Dieser zweistufige Prozess ist notwendig, da Stoppkurse auch automatisch modifziert werden können z.B. einen Break-Even-Stopp (Kaufkurs erreicht) oder Trailing-Stopp, der den aktuellen Kursen nachläuft. Um diese Übernahme bewusst zu machen und auch manuelle Depotanpassungen zu vereinfachen, werden diese automatischen Stopp-Werte (wenn aktiviert) wirklich erst nach Aktivierung übernommen. Unterscheidung V der Stopps zur Kaufsumme / G/V der Stopps zur Kaufsumme und G/V der Stopps zum Depotwert Stoppkurse haben unterschiedliche "Komfortzonen" d.h. wenn eine Position eröffnet wird, wird zunächst nur ein Initialkurs gesetzt. Dieser muss praktisch bei LONG-Positionen unterhalb des Kaufkurses sein und ist damit zunächst ein Risiko für das Depot. Das Risiko ist die Differenz zwischen Kaufkurs und Absicherungsniveau (Stopp) multipliziert mit der Anzahl. Danach kann eine Position sich für zwei Richtungen entscheiden, entweder gegen oder für ein. Wenn für ein, läuft die Position ins Plus und der Stopp kann wenn gewollt nachgezogen werden, um auch vorhandene Gewinne abzusichern. Diese Gewinnabsicherung ist aber eine andere Form des Initialrisikos. Um diese Absicherungsniveaus aber nicht vollständig zu ignorieren, werden zwei Werte ausgewiesen. Der Wert des Depot-Risikos enthält nur Einzelrisiken aus Positionen, die aktuell noch unterhalb des Break-Even abgesichert sind und damit bei Auslösung des Stopps noch einen Verlust bedeuten. Daneben ist es jedoch ein Unterschied zwischen Depotwert auf Basis aktuellster Kurse und den durch Stopps insgesamt abgesicherten Wertniveaus. Der Wert Depot G/V bei vollständiger Stoppauslösung soll dies ausdrücken. Also Kurzform: V der Stopps zur Kaufsumme: Summe aller Einzelrisiken der offenen Depotpositionen. Es werden dabei nur Positionen gezählt die mit dem Stopp einen Verlust zur Kaufsumme darstellen. G/V der Stopps zur Kaufsumme: Summe der Einzelrisiken / Gewinnsicherungen der Depotpositionen in Differenz zur Kaufsumme G/V der Stopps zum Depotwert: Summe der Einzelrisiken / Gewinnsicherungen der Depotpositionen in Differenz zum aktuellen Depotwert d.h. wieviel Depotrisiko ist im Depot enthalten zum jetzigen bereits erreichten Kursniveau. Oder anderes: Differenz aus Depotwert und Summe der Verkaufserlöse nach den Stopps. Gesamtüberwachung der vorhandenen Stoppkurse Hierzu über das Kontextmenü im Depot (r.Maustaste) den Menüpunkt "Stoppkurs(e) ..." wählen. Sie haben von hier die Möglichkeit alle aktivierten und modifzierten Stoppkurse einzusehen. Das Fenster wird wenn unter Einstellungen nicht deaktiviert mindestens beim Unterschreiten von Kursen unterhalb der Stoppkurse angezeigt als Warnfenster und Hinweis für den Nutzer. Zweck der Darstellung ist alle vorhandenen Stoppkurse an einer Stelle zu überwachen. Dabei werden Stoppkurse nicht nur an Depottiteln genutzt, sondern an beliebigen Titeln und können damit für eine Gesamt-Markt-Überwachung mitgenutzt werden. Import und Export Grundidee Shareholder ist bei den meisten Anwendern selten das Erstprogramm. In den meisten Fällen wurden andere Börsenprogramme oder eigene Excellisten zuvor gepflegt. Um hier einen reibungslosen Übergang zu realisieren und eine manuelle Datenerfassung zu vermeiden, wurde eine Export/Import-Schnittstelle realisiert die einfach (KeepItSimple) über ein CSV-Textformat funktionert, dass insb. von Excel sehr gut verarbeitet werden kann. Das Format muss in einem festen Format vorliegen. Alle notwendigen Informationen hierfür sind bereits in den Masken aufgenommen. Vorgehen Um insb. ein Import zu realisieren, würde ich folgendes Vorgehen vorschlagen. Realisieren Sie zunächst in Shareholder jeweils in Fall für Ihre spezifischen Transaktionen z.B. Eine Einzahlung und eine Auszahlung Ein Kauf auf dem Konto 1 und ein Verkauf auf das selbige Konto Ein Kauf auf dem Konto 2 und ein Verkauf Dieses Depot speichern Sie einfach unter dem Namen "TextExport" ab und führen das Modul "Import Depot" unter "Hauptmenü.Depot.Im-und Export" aus. Hier setzen Sie auf Testimport-Datei erzeugen. Excel sollte sich dann automatisch mit Ihren Testdaten öffnen. Sie können nun nach dem Vorbild Ihrer Testeingaben weitere Eingaben ergänzen. Ich denke hiermit ist eine Umsetzung dann spielend möglich. Besonderheiten Um den Export-und Import nicht nur für den einmaligen Abgleich nutzen zu können, sind die Funktionen so geschrieben, dass hiermit folgende Sonderaufgaben realisiert werden können: Zusammenführung oder Trennung von Transaktionen in Einzeldepots. Hier dann einfach über Export des Gesamtdepots und Import in Einzeldepots. Manueller einfacher Abgleich eines kompletten Exports über Excel, um Eingaben und die Kontrolle der Transaktionen zu vereinfachen. Anschließender Re-Import der Daten. Neben Updates und Neuanlagen für Transaktionen können neue Aktientitel, neue Konten, neue Börsen und neue Entscheidungstypen automatisch angelegt werden. Eine Pflege der Transaktionsdaten kann so theoretisch komplett nach Excel gegeben werden, wenn man sich den Im-und Exportfunktionen bedient. Consors Trading API Das nachfolgende Dokument ist nur eine DRAFT-Version. Zielsetzung Cortal-Consors bietet für Heavy-Trader als auch für normale Anleger durchaus attraktive Konditionen für Investments und Trading. Der Broker blickt damit auf eine treue und gewachsene Kundenbasis. Um die Depotmanagement-Fähigkeiten von Shareholder zu nutzen, sollen folgende Minimalfunktionen umgesetzt werden: Automatischer Kontenabgleich Automatischer Transaktionsabgleich für abgeschlossene, als auch noch offene Transaktionen Abgrenzung Folgende Punkte werden nicht angestrebt und damit auch nicht mit Deep-Dives geprüft, da die Zukunftsfähigkeit der Schnittstelle nicht sichergestellt ist (s.u.) Automatisches Trading-Setup mit Cortal-Consors aufgrund von Handelssignalen Automatische Übermittlung neuer gesetzter Stopp-Kurse Übermittlung von historischen Kursdaten für die Chartanalyse Status GREEN 13.12.2014 - Nachfrage und Organisation der letzten Trading-API-Version über den Cortal-Consors-Support RED Prüfung der Zukunftsfähigkeit der aktuellen Version 1.1.0 mit .NET2.0-Support. Leider wurde diese scheinbar seit dem 08/2006 nicht mehr gepflegt. Eine Anbindung macht damit nur leichtgewichtig und mit schnellen Ergebnissen Sinn für den Depotabgleich, Transaktionsabgleich, um manuelle Schnittstellen zu vermeiden GREEN Erster Überblick der theoretischen Zugriffsmöglichkeiten der API (Dokumentation und Beispiel-Umsetzungen grob gesichtet) GREEN Prüfung der technischen Library-Einbindung der API (ja funktioniert) GREEN können GREY Prüfung der fachlich abgebildeten Funktionen, um gezielt den automatischen Depotabgleich leichtgewichtig umsetzen zu Demo-Account, um die Stabilität und die Möglichkeiten schrittweise zu testen und auszuprobieren (leichtgewichtig) GREY Technischer POC GREY Minimalumsetzung in Shareholder z.B. für Accountabgleich + Transaktionsabgleich analog Hintergründe Consors bietet eine sogenannte Trading-API für seine Plattform an. Leider erfolgt dies nicht mehr offiziell über die Website, sondern nur auf explizite Nachfrage. Es gibt damit auch keinen offiziellen Support hierfür (siehe https://wissen.consorsbank.de/t5/Sonstige-Themen/API/m-p/8741) . Auf Nachfrage kann die Trading-API hier jedoch bereitgestellt werden. Ein technischer Support wird hierfür nicht angeboten! Voraussetzungen Bitte beachten Sie, dass Sie hierfür Microsoft DotNET2.0 im Vorfeld installieren müssen. Diese finden Sie über folgenden Link: http://ww w.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=en Sie benötigen eine Netzwerkfreischaltung auf folgende Server: For login and trading functions: brokerage-a3.cortalconsors.de port 443 For marketdata: push.is-teledata.com port 80 Sie benötigen einen Konto bei CortalConsors, S.A., Nuremberg. Sie benötigen zusätzlich einen installierten Internet Explorer mit 128 bit High Encryption Pack Möglichkeiten Business-Service BLUE CortalConsors - TradingApiFunctionsDE - CashAccountInquiry CortalConsors - TradingApiFunctionsDE - CashTurnoverInquiry CortalConsors - TradingApiFunctionsDE - FreeQuoteGet CortalConsors - TradingApiFunctionsDE - IndexListInquiry* CortalConsors - TradingApiFunctionsDE - InvestmentAccountInquiry CortalConsors - TradingApiFunctionsDE - OrderAdd CortalConsors - TradingApiFunctionsDE - OrderbookSubscription* Possible Result-Fields laut Dokumentation BLUE CortalConsors - TradingApiFunctionsDE OrderDetail+Change+Cancel BLUE CortalConsors - TradingApiFunctionsDE - OrderInquiry CortalConsors - TradingApiFunctionsDE - OtcQuoteAccept CortalConsors - TradingApiFunctionsDE - OtcQuoteGet CortalConsors - TradingApiFunctionsDE - QuoteHistory* CortalConsors - TradingApiFunctionsDE - QuoteIntradayHistory* CortalConsors - TradingApiFunctionsDE - QuoteSubscription* CortalConsors - TradingApiFunctionsDE - StockexchangeInquiry Depot-Export in CSV-Dateien Funktionsweise Der Export erfolgt in einem Standardformat , welches nicht veränderbar ist. Kontobewegungen werden dabei ebenso exportiert, wie Depotumsätze. Der Export kann in dieser Form nach gewünschten Änderungen 1:1 wieder über den Import übernommen werden. Neue Einträge werden dabei hinzugenommen und geänderte in Shareholder aktualisiert. Wenn es nicht möglich ist. die Ordernummer zu verwenden, wird die ISIN und der Zeitstempel herangezogen für den Abgleich. Weitere Hinweise für den Re-Import finden Sie beim Depot-Import aus CSV-Dateien. Depot-Import aus CSV-Dateien Funktionsweise Der Import erfolgt in einem Standardformat, welches nicht veränderbar ist. Kontobewegungen können dabei ebenso importiert werden, wie Depotumsätze. Neue Einträge werden hinzugenommen und geänderte in Shareholder aktualisiert. Der Abgleich erfolgt über die Ordernummer oder wenn nicht vorhanden über die ISIN und dem Datums- und Zeitstempel. Änderungen an Zeit oder ISIN werden als neue Sätze erkannt, wenn keine Ordernummer vorhanden ist. Sie können eine Testdatei mit dem Standardformat erzeugen über den nachfolgenden Button (Exportiert direkt das aktuelle Depot). Formatbeschreibung - Standardformat: Name (opt.);Ordernummer (opt.);Depot;Boerse;ISIN;Typ;Datum;Zeit;Kurs;Wert (opt.);Stk;Nettogewinn (opt.);Gebuehren;Entscheidung (opt.);Bewertung (opt.);Notiz (opt.) - Optionale Felder (opt.) können leer bleiben beim Import - Depot, Börse, Entscheidung, Bewertung sind Freitextfelder, die beim Import versucht werden gegen die internen Listen abzugleichen. Gelingt dies nicht, wird auf Anfrage ein neuer Eintrag erzeugt. - Datumsformat: DD.MM.YYYY - Zeitformat: HH:MM:SS - Anfängliche ' Zeichen werden ignoriert (nur für Excel benötigt) - Soll ein Datensatz gelöscht werden, so muss unter Name "DELETE" eingetragen werden. Fehlerbehandlung - Fehlerhafte Sätze werden in eine ERROR-<Orginaldateiname> geschrieben und nach dem Import automatisch geöffnet. - Ist die Zuordnung mit der ISIN nicht möglich, wird eine WKN vermutet (ist somit ebenfalls möglich). Ist auch hier eine Zuordnung nicht möglich, wird in den Stammdaten mit dem Name und der ISIN/WKN ein Titel angelegt. FXCM (FXConnect API) Zielstellungen Abgrenzung Quick-Guide Voraussetzungen Zielstellungen Automatischer Abgleich der aktuell offenen und geschlossenen Trades über das FXCM-Konto, um auf dieser Basis: Auswertungen und Reports für das Trading zu ermöglichen Trades mit Trading-Tagebuch zu führen, um sein eigenes Trading schrittweise zu verfeinern und zu optimieren Automatischer Abgleich von historischen Kursdaten von FXCM für die Shareholder-Kursdatenbank In der ersten Ausbaustufe wird die Abgleichsfunktion manuell aufgerufen werden. In einer weiteren Ausbaustufe werden Trades automatisch an Shareholder gepushed und übernommen. Hinweis: Über die Auto-Execute-Möglichkeit können automatische periodische Updates auch jetzt bereits durchgeführt werden (siehe Automatische JOB-Ausführung (Auto-Execute-Möglichkeiten) Um die Nutzungs-Szenarien dahinter zu verstehen, kann folgendes Schaubild verwendet werden. Es läuft auf einem separatem Trading-Server (zur Not auch lokal) eine FXCM-Trading-Station. Hier werden automatisierte Strategien ausgeführt bzw. durch manuelle Intraday-Trades ersetzt und/oder ergänzt. Leider besitzt FXCM keinerlei verwendbare Hilfsmittels um ein Trading-Tagebuch zu führen, Marktanalysen abseits des technischen Charts oder EOD-Analysen abseits der CFD-Titel von FXCM zu führen. Um diese Schwachstellen auszubügeln ist die nun integrierte FX-Connect-Anbindung an Shareholder ideal. Duchgeführte Trades, Kursdaten und Kontostände können so effizient synchronisiert werden. Dadurch werden die gezielten Auswertungen und Analysen auf die durchgeführten Trades durch Shareholder möglich. So lassen sich die Möglichkeiten zur Strategie-Analyse, Tages/Monats/Wochen-Chartanalysen perfekt verwenden. Abgrenzung In der ersten Ausbaustufe wird es noch keine offizielle Schnittstelle für das Shareholder-Scripting-Studio integriert sein. In einer späteren Ausbaustufe wird es jedoch möglich sein vom Scripting-Studio auf die FXCM-Schnittstelle zuzugreifen, um Trades oder Logs zu erzeugen. Quick-Guide Start über das Hauptmenü "Im-und Export" / Import FXCM über FxConnectAPI (1) Eingabe der Logindaten (2) Auswahl der zu verwendenden Zuordnungen auf das Depot, Börse und Marktsegmente beim Import (3) Start mit Login Es werden dabei alle Titel die noch offen sind oder getradet worden sind im Standard mit den historischen Kursdaten aktualisiert und stehen danach für die Chartanalyse etc. zur Verfügung. Die Anzahl der eingelesenen Tage richtet sich nach den Setup-Einstellungen im Hauptbildschirm. Wenn alle verfügbaren Instrumente aktualisiert werden sollen, muss die Checkbox "Aktualisiere nur genutzte Titel" deaktiviert werden. Hinweis: Durch ein aktuelles Limit der Schnittstelle wird für den aktuellen Tag immer nur ein Close-Wert interpretierbar nutzbar, leider jedoch keine vollständige Candle. Ich hoffe dies irgendwie in Kürze noch mit einem Workarround lösen zu können. Voraussetzungen Um diese Schnittstelle nutzen zu können, müssen folgende win32-Pakete installiert werden. Damit wird eine ForexConnectAPI installiert und ein zugehöriger COM-Wrapper, der von Shareholder genutzt wird. Die Möglichkeiten zur Synchronisation werden aber dem 13.5.x Version bereitgestellt werden und sind der Profiversion vorbehalten. "ForexConnect COM is a support library that allows using ForexConnect API as an "in-process" COM server. The library is intended to be used by Windows applications that cannot use the standard ForexConnect library or support libraries for .NET and Java. For example, VBScript applications, Microsoft Excel, etc." http://www.fxcodebase.com/wiki/index.php/Download : >=ForexConnectAPI 1.3.0-win32.exe http://www.fxcodebase.com/wiki/index.php/Download : >=ForexConnectAPI-1.3.0-win32-COM.exe (COM-Wrapper) Sie können bei Bedarf auch die Beta-Version verwenden, haben hier praktisch aber keinerlei nutzbare Vorteile. Ich empfehle damit die Verwendung der 1.3.0 Stable-Version. Bitte beachten Sie bei der Installation die Reihenfolge d.h. zunächst die API, dann den COM-Wrapper. Ein Neustart des Systems ist danach nicht notwendig. Den Erfolg der Anmeldung können Sie einfach im Log-Reiter sehen nach der Anmeldung d.h. rufen Sie das Import-Modul auf mit <Strg><Shift><A> und tragen die Logindaten ein und starten dann mit "Login&Update". Sie erhalten dann startet mit "Session Connecting" Meldungen. IG Markets - REST Trading API Das nachfolgende Dokument ist nur eine DRAFT-Version auf Basis der Informationen von http://labs.ig.com/gettingstarted Zielsetzung IG Markets bietet seit kurzem im IGLabs eine geeignete API, um ohne Zwischenformate Zugriff auf Konto, Depot und Tradingfunktionen zu nehmen. Von besonderem Interesse sind hier insb. die Fähigkeiten auf Konto und Transaktionsdaten zuzugreifen, um die Depotmanagement-Fähigkeiten von Shareholder auf Basis von historischen Trading-Informationen effizient zu nutzen. Damit sollen folgende Minimal-Funktionen umgesetzt werden: Automatischer Kontenabgleich Automatischer Transaktionsabgleich für abgeschlossene, als auch noch offene Transaktionen Der bisherige halbmanuelle Weg soll so schnell wie möglich ersetzt werden, da hier eine vollautomatische Synchronisation erreicht werden kann inkl. History-Abgleich Watchlisten-Abgleich Client-Sentimente (Besonderheit von IGMarkets) Abgrenzung Folgende Punkte werden nicht angestrebt und damit auch nicht mit Deep-Dives geprüft, da die Zukunftsfähigkeit der Schnittstelle nicht sichergestellt ist (s.u.) Automatisches Trading-Setup aufgrund von Handelssignalen Automatische Übermittlung neuer gesetzter Stopp-Kurse Status 15.12.2014 GREEN Prüfung der Zukunftsfähigkeit der aktuellen Version GREEN Erster Überblick der theoretischen Zugriffsmöglichkeiten der API (Dokumentation und Beispiel-Umsetzungen grob gesichtet) GREY GREY können Prüfung der technischen Library-Einbindung der API Prüfung der fachlich abgebildeten Funktionen, um gezielt den automatischen Depotabgleich leichtgewichtig umsetzen zu GREY Demo-Account, um die Stabilität und die Möglichkeiten schrittweise zu testen und auszuprobieren (leichtgewichtig) GREY Technischer POC GREY Minimalumsetzung in Shareholder z.B. für Accountabgleich + Transaktionsabgleich analog Die Schnittstelle ist sowohl zukunftsfähig, skalierbar und vor allem für IGMarkets für eines der führenden CFD-Broker mit einem sehr breiten Angebot und markt-günstigen Konditionen. Die Ablösung der bisherigen CSV-Schnittstelle hat damit eine Prio A. Voraussetzungen Durch die Nutzung von Webinterfaces auf HTTP-Basis (REST-Architektur) kann ohne Firewall-Freischaltungen und Zusatzinstallationen die Schnittstellen genutzt werden Sie benötigen einen (Demo)Konto bei IG-Markets Möglichkeiten siehe http://labs.ig.com/rest-trading-api-reference Service Possible Result-Fields laut Dokumentation BLUE /history/transactions/{transactionType}/{lastPeriod} http://labs.ig.com/rest-trading-api-reference/service-detail?id=68 BLUE /accounts http://labs.ig.com/rest-trading-api-reference/service-detail?id=70 BLUE /positions http://labs.ig.com/rest-trading-api-reference/service-detail?id=77 Import aus Daten vom IgMarket-CFD-Trading-Konto (www.igmarkets.com) Grundprinzip Aus dem IGMarket-Konto werden über Mein Konto / History folgende Punkte aufgerufen und mit "History downloaden" abgeschlossen. Der betrachtete Zeitraum sollte dabei natürlich korrekt ausgewählt sein: Transaktionen (Wird gespeichert als "txnHistory*") Vergangene Aktivität (Wird gespeichert als "orderHistory*") Hinweis: Die Vergangene Aktivität / orderHistory ist im Export beschränkt in der Anzahl der Datensätze, auch wenn keine Warnmeldungen gegeben werden. Hier kann man sich aber behelfen, dadurch dass die Von - Bis -Felder benutzt werden, um schrittweise die Daten zu exportieren. In meinen Prüfungen war bei ca. 500 Aktivitäten ungefähr das Limit erreicht. Prozess Beim Öffnen des Importer für die Daten (übrigens Shortcut: <Strg><Umsch><I>) wird automatisch zunächst geprüft ob die beiden notwendigen Importdateien (Transaktionen, Vergangene Aktivität als "txnHistory" bzw. "orderHistory") unter folgenden Verzeichnissen zu finden ist. Es wird die 1. gefundene Datei jeweils vorausgewählt: Suche im Userverzeichnis Suche im Userverzeichnis\Downloads Suche auf Desktop Dies soll ermöglichen, dass die Dateien aus dem Webbrowser unter "Mein Konto" gedownloaded werden und zusammen mit dem Shortcut innerhalb von Sekunden importiert werden können. Zunächst sollte geprüft werden, ob das Depot, die Standardbörse und der Standardmarkt korrekt ausgewählt worden sind, danach kann mit "Importieren" über die Tool-Leiste der Importvorgang gestartet werden. Folgende automatische Prozesse ermöglichen eine beinahe verlustfreie Übernahme aller relevanten Informationen, die in den Exportdaten vorhanden sind: Typ Quelldatei Stammdatenspeicherung in Shareholder Hinweise Orderhistory/TxnHistory Transaktion Ausprägungen: Kauf, Verkauf, Zinsen, Spesen, Einzahlung, Auszahlung OrderRef / Ordernummer Orderhistory/TxnHistory Transaktion Absofort auch in der Transaktionsansicht filterbar Datum inkl. Uhrzeit Uhrzeit nur in Orderhistory Transaktion Um eine korrekte Sortierung zu 100% zu gewährleisten, sollte die OrderHistory und die TxnHistory den gleichen Exportumfang haben CFD-Titel Orderhistory/TxnHistory Titel (NEU) Wird verwendet um automatisch fehlende Titel anzulegen. Der CFD-Titel wird als völlig eigenständiges Feld in den Stammdaten aufgenommen, so dass Verwechselungen ausgeschlossen sind Währung inkl. Symbol und Umrechnungskurs Umrechnungskurs nur in TxnHistory Transaktion (NEU) In aller Konsequenz besitzt nun jede Transaktion ein Währungsumrechnungskurs. Source z.B. Mobile/Chart etc. Nur OrderHistory Transaktion (NEU) Für spätere Analysen von Strategien wurde das Feld nun eingeführt Anzahl Orderhistory/TxnHistory Transaktion Level/Kurs Orderhistory/TxnHistory Transaktion Stopp-Level Nur OrderHistory Transaktion GuV Ausgewiesen nur in TxnHistory Transaktion Stopp-Notizen Nur über OrderHistory Transaktion (NEU) Für spätere Verfeinerung über das Tagebuch, wird nun pro Transaktion ein eigenständiges Stopp-Feld mitgeführt. Dieses Feld ist Freitext und wird beim Import mit xxx P Init und XX x Trailing gefüllt. Dies meint XXX Punkte Abstand initial für den Initial-Risk-Stopp und es wurden XX fach Stopp-Kurse nachgezogen. Spreads Nur über Logik von http://www.igmarkets.de/cfd/ markets-landing.html Transaktion (NEU) Die Spreads können in bestimmten Strategien über Erfolg-oder Mißerfolg entscheiden. Ich habe diese deshalb zur Strategieauswertung aufgenommen. Dies sind fortan auch in der Transaktionsansicht sichtbar. Margins Nur über Logik von http://www.igmarkets.de/cfd/ markets-landing.html Titel (NEU) Die Margins werden in den Stammdaten am Titel gehalten und werden genutzt, ob die Cash-Belastung von Positionen zu ermitteln. Bitte daher diese im Zweifel bei Ungereimtheiten auch prüfen. Um den Prozess so flüssig wie möglich umzusetzen, sind folgende Erleichterungen umgesetzt: Automatische Titelanlagen erfolgen - Bereits importierte Daten synchronisiert werden Mögliche Importdateien automatisch "vorausgefüllt" werden für die Order-History und Transaktionen (Suche im Userverzeichnis, Suche im Userverzeichnis\Downloads, Suche auf Desktop) . - Beim Import die Titel werden automatisch alle vorhandenen Kurszeitpunkten mit Kursdaten übernommen. Alle relevanten Formen der Transaktionen werden berücksichtigt (Bareinzahlung, Barauszahlung, Order, Spesen insb. bei Kreditkarteneinzahlungen, Zinsen (Overnight)) Nach dem Import kann eine automatische Archivierung durchgeführt werden, wenn die entsprechende Checkbox unterhalb der Dateiauswahl-Feldern marktiert ist. Dies beschleunigt im Zusammenspiel mit der automatischen Vorauswahl des Importes den Prozess, da immer nur die letzten noch nicht verarbeiteten Dateien im Verzeichnis liegen. Warum überhaupt Shareholder nutzen im Zusammenspiel mit CFD-Trades Wenn man IgMarkets - Nutzer ist, ist die Wahrscheinlichkeit fürs Day-Trading/Swing-Trading relativ hoch. Die professionelle ProRealtime Charting-Software lässt ebenfalls fürs Day-Trading nur wenig Wünsche offen. Dennoch bleibt eine große Lücke im Bereich der systematischen Aufbereitung der Trading-Ergebnisse in Form von Analysen und Auswertungen. Nur dies erlaubt qualitatives Trading, d.h. sich permanent reflektierendes Trading und Überprüfung der eigenen Klarheit. Dies umfasst damit folgende Punkte im Minimum: Übersichtliche Darstellung der Trades in Transaktions-Ansichten inkl. Stopp-Level-Auswertungen, Kommentarmöglichkeit, Bewertungsmöglichkeit, Stopp-Notizen, System-Source-Darstellung, Spread-Darstellung Auswertung der Kapitalkurven Auswertung der Trading-Strategie-Entwicklung Gewinn-Matrizen-Auswertungen Tages/Wochen-Chart-Auswertungen Import aus Flatex-Export-CSV-Dateien Nutzung Über das Hauptmenü / Im-und Export können die Flatex-Importe aufgerufen werden. Aktuell sind noch nicht komplett ideal die Imports für die Kontoumsätze (insb. Ein-Auszahlungen) getrennt von den Depotumsätzen. Der Abgleich muss daher im Normalfall auch in zwei Schritten erfolgen. Idealerweise erfolgt zunächst der Aufruf der "Import Flatex-Depotumsätze" und erst danach "Import der Kontoumsätze". Die Volumen-und Gebührendaten befinden sich dabei nur in den Kontoumsätzen, die somit im zweiten Schritt aufgerufen werden sollten. Step 1: Import Flatex-Depotumsätze Führen Sie dabei folgende Unterschritte aus um einen Abgleich der Depot-Transaktionen mit Flatex zu erhalten: Führen Sie zunächst im Flatex-Konto einen CSV-Export der Depotumsätze durch und speichern diesen lokal Rufen Sie in Shareholder den Menüpunkt "Import Flatex-Depotumsätze" auf Wählen Sie das Depot und die Standard-Börse in Shareholder Starten Sie den Import über die Tool-Leiste "Import Depotumsätze aus CSV", der nach Auswahl der zuvor gespeicherten CSV-Datei startet Das erwartete Import-Format sollte sein: (Depotnummer);Buchungstag;Valuta;ISIN;Titel;Stück;Einheit;Buchungsinformationen;Kurs;Währung Ein wiederholter Import führt hierbei zu keinen Dubletten und kann vorgenommen werden. Step 2: Import Flatex-Kontoumsätze Im zweiten Schritt können Sie die Kontoumsätze importieren Führen Sie zunächst hier im Flatex-Konto einen CSV-Export der Kontoumsätze durch und speichern die Datei lokal ab Rufen Sie in Shareholder den Menüpunkt "Import Flatex-Kontoumsätze" auf Wählen Sie das Depot und die Standard-Börse in Shareholder Start Sie den Import über die Tool-Leiste "Import Kontoumsätze aus CSV", der nach Auswahl der zuvor gespeicherten CSV-Datei startet Ein wiederholter Import führt hierbei zu keinen Dubletten und kann vorgenommen werden. Sonderfunktionen Die Abgleichsdaten mit einem Vergleich Alt-Gebühr/Neu berechnete Gebühr aus Abgleichsdaten werden tabellarisch dargestellt. Unterschiede in den Gebühren, werden fett markiert. Die Orginal-Importdaten finden sich aufbereitet im Reiter "Importdaten". Zeilen, die nicht verarbeitet werden konnten, werden hierbei wieder mit "Fett" markiert. Die Anzahl der Anpassungen in den Gebühren findet sich im Label "Fazit" unterhalb der aufbereiteten Listen Import myFXCM - Kontoauszüge Anwendung Rufen Sie den myFXCM - Bereich auf und rufen Sie hier Kontoauszüge auf. Wählen Sie als Format Excel 2003. Die nach "Get Report" angzeigte HTML-Datei bitte in den Standard-Download-Ordner von Windows speichern. Dort kann dieser dann direkt mit Aufruf von Strg-F in Shareholder R/13 gefunden und importiert werden. Danach können Sie bereits in Shareholder R13 über das Menü Depot / Import-Export / Import FXCM Kontoaktivitäten die exportierte Datei einlesen, da standardmäßig im Download-Ordner und auf dem Desktop nach einer Account-Summary*.HTM Datei gesucht wird. Das Auswählen der Importdatei entfällt damit. Import-Umfang Der Report besteht im Kern aus folgenden Sektionen, die in folgender Form interpretiert und übernommen werden: Sektion im Report CLOSED TRADE LIST (ab 13.3.5) Achtung: Ein-Auszahlungen werden aktuell noch nicht berücksichtigt bzw. ist in Arbeit. Übernahmedatails und Besonderheiten Ticket # (Als Order-Referenz) Symbol Volume Date Sold Bought Gross P/L (Nur finaler Net P/L - Wert) Comm (Nur finaler Net P/L Wert) Rollover (Nur finaler Net P/L Wert) Adj (Nur finaler Net P/L Wert) Net P/L Condition (Als Kommentar) Created By (Account-Referenz) OUTSTANDING ORDERS (In der aktuellen Version als Sektion komplett nicht übernommen) Order # Expire Date Type Ticket Symbol Volume Date B/S Price Market Price Created By OPEN/FLOATING POSITIONS (erst ab 13.4.x) Ticket # Symbol Volume Date Sold Bought Floating P/L (Nur finaler Net P/L - Wert) Comm (Nur finaler Net P/L Wert) Rollover (Nur finaler Net P/L Wert) Net P/L Condition Created By ACCOUNT ACTIVITY (Daten werden in Shareholder R/13 durch Auswertung der anderen Importdaten selbstständig berechnet) Time Posted Code Description Account # Ticket # Amount Balance Kursaktualisierung Arbeitsschritte Kursaktualisierung Tai-Pan EOD siehe Tai-Pan® X Kursaktualisierung über freie Internetadressen siehe Internetaktualisierungen Notfallplan Manuelle Eingabe Für Werte, die nur mit Schwierigkeiten oder überhaupt nicht aktualisiert werden können, ist die manuelle Kurseingabe vorgesehen. Der Zeitstempel wird bei einer Neueingabe automatisch auf die aktuelle Uhrzeit gesetzt. Sie können die Eingabe sehr bequem durchführen über den Shortcut <Strg>-<Einfg> oder über das Kontextmenü des Eintrages, um eine Neueingabe zu veranlassen. Bitte selektieren Sie zuvor nur den Titel. Ebenso ist der Zugriff von den Stammdaten eines Papieres (Doppelklick) unter dem Reiter "Kurse" möglich. Kursdatenbereinigung Die Kursdatenbereinigung nimmt eine Verdichtung der Kursdatenmengen vor, d.h. bestehende Kursdaten werden nochmals sortiert und ungültige Einträge gelöscht. Der Vorgang sollte nur in Ausnahmefällen genutzt werden, da intern sichergestellt, ist das die Daten konsistent sind. Die Funktion ist historisch entstanden und gilt mittlerweile als deprecated bzw. gehört zum Notfallprogramm. Probleme bei den Aktualisierungen Internetkursaktualisierungen Da immer wieder Probleme mit der Kursaktualisierung auftreten hier ein einfaches Vorgehensmodell, um den Fehler einzugrenzen: Aktualisierungsfehler eines Titels 1. 2. 3. 4. Hauptmenü . Kurse . Internetfilter . "Protokoll" oder "Fehlerprotokoll" aktivieren Betroffenen Titel markieren (innerhalb Kursliste, Depot usw.) und eine Einzelaktualisierung mit Strg-F5 durchführen (oder Kontextmenü) Angezeigte Protokoll prüfen hinsichtlich gebildeter URL/Adresse Wurde die URL falsch gebildet, so sollten folgende Prüfungen durchgeführt werden: a. Wurde der Aktie das korrekte Marktsegment zugeordnet b. Hat das Marktsegment die korrekte Zuordnung zu einer Internetaktualisierungsadresse (Hauptmenü. Einstellungen. Märkte) c. Sind die Werte für Symbol/ISIN/WKN für den Titel korrekt (Hier sind teilweise Sondervariablen zu setzen (Titelstammdaten.Button Variablen)) d. Wird der Titel überhaupt durch den Kursanbieter (Yahoo usw.) geführt / Ist ein Wechsel zu einer anderen Aktualisierungsadresse notwendig Internetvariablen Einer der häufigsten Fehler ist die falsche Zuordnung der Internet-Aktualisierungs-Variablen. Bei der Aktualisierung der Kursdaten für einen Titel können in der Aktualisierungsadresse nicht nur die WKN/ISIN/Symbollkennungen verwendet werden, sondern auch völlig freie Kennungen. Diese sind immer dann notwendig, wenn eine Kurslieferant für festgelegte Titel eigene Kennungen nutzt. Welche Kennung hier im Einzelfall zu nutzen ist, muss manuell über einen Abruf der entsprechenden Seite festgestellt werden. z.b. bei Yahoo bieten sich für Deutsche Titel: http://de.finance.y ahoo.com/ und für weltweite Titel: http://finance.yahoo.com/ an. Die Eintragung erfolgt anschließend direkt im Variablen-Formular der Aktienstammdaten eines Titels: Im- und Exporte Import Einmaliger Manuelller Import Kursdaten Ein einmaliger Import von Kursdaten(Aufruf: Hauptmenü.Kurs.Import) ist mit Hilfe eines Importformats (siehe Hauptmenü.Einstellungen.Importformat) ausführbar. Alle gefundenen und zugeordneten Werte werden anschließend im Protokoll gelistet. Für den Import muss das Importformat zwingend dem Format der importierenden Daten entsprechen. Ausführliche Fehlerprotolle stehen zur Zeit nicht zur Verfügung. Bei Erfolg müssen die Daten in jedem Fall im Protokoll aufgeführt, d.h. sowohl die Aktie als auch die Kursdaten. Für den Import sind grundsätzlich nur Daten geeignet, die pro Zeile eine Zuordnung zu einer Aktie erlauben z.B. per WKN oder ISIN. Der Import von ganzen Verzeichnissen mit Einzelkursdateien pro Wert ist mit dem manuellen Import nicht möglich. Diese Variante ist in unterschiedlichsten Kombinationen allerdings über die Bereitstellung von passenden Internetadressen, die in dem Moment aber ins Filesystem zeigen (Adresse sollte hier dann im Format file:///<LokalerPfad> hinterlegt sein.) Alternativ kann über das Kontextmenü auch ein Kursdatenimport für einen speziellen Titel erfolgen, d.h. pro Zeile ist keine Information zur verwendeten Aktie notwendig. In der Titelleiste erscheint hier dann der verwendete Importtitel. Automatische Import Kursdaten Wird die automatische Anbindung eines Datenanbieters über CVS / Textdaten angestrebt oder müssen ganze Kursverzeichnisse eingelesen werden, so besteht die Möglichkeite des Zugriff aus lokale/Netzdateien über entsprechend angepasste Internetadressen (Hauptmenü.Einstellungen.Internetadressen). Wichtig ist hier die Definition als "file:///". Anschließend erfolgt der normale Zugriff aufs Dateisystem mit der vollen Pfadangabe. Der Zugriff auf Netzwerklaufwerke ist möglich. Soll ein Drittprogramm zur Kursdatenbereitstellung über ASCII Files genutzt werden, kann dies zusätzlich über zeitgesteuerte Aktualisierungen (normale Intervallaktualisierung fürs Internet) realisiert werden. Wird nur ein einmaliger Import realisiert für ein Kursdatenverzeichnis z.B. mit \Daten\Import und 562299.TXT, 562300.TXT so wären folgende Schritte notwendig: 1. Definition einer eigenen Internetadresse mit Verweis aufs lokale Verzeichnis file:///c:\Daten\Import\{WKN}.TXT. Die WKN wird hier als Platzhalter definiert der vom Programm ausgefüllt wird (Alternativ ist natürlich auch {ISIN} möglich. 2. Anpassung der Markteinstellung um die neue Aktualisierungsadresse zu verwenden (je nach Bedarf und/oder Tagesaktualisierungsadresse oder die Adresse für die historischen Kursdaten) 3. Aktualisierung der Kursdaten je nach Bedarf (Tagesdaten/ EOD-Update) Export Über den Menüpunkt Hautpmenü.Kurse.Export wird ein Exportmodul geöffnet. Der Export erfolgt als CSV Textdatei, die festlegbare Felder in festlegbarer Reihenfolge enthält. Der Export erfolgt in Einzeldateien oder in einer Gesamtdatei entsprechend der Auswahl in der unteren Toolbar (Liste, Einzeln) für alle per Checkbox markierten Werte. Der Export ist so immer nur für Märkte möglich. Ein Einzelexport von Kursdaten eines Titels ist zur Zeit nicht vorgesehen. Arbeitsschritte 1. Per Quickauswahl (Quickselect) kann das Textformat aus bereits definierten Importformaten übernommen werden, d.h. Position und Inhalt wird übernommen. 2. Beim Export sollte das Trennzeichen, Datumsformat und das Zeitformat definiert und in jedem Fall geprüft werden. 3. Mit der Definition einer Startzeile und Endzeile pro Datei sind spezielle Formate abbildbar. In diesen können als freie Variablen {DATE} und {NOW} für die Uhrzeit Verwendung finden. Das "Freie Feld" kann mit beliebigem Inhalt oder fixen Zeichenketten gefüllt werden und steht innerhalb der Positionen als Auswahlfeld zur Verfügung. 4. Auswahl der gewünschten Märkte für den Export (Einzelauswahl von Titeln ist nicht möglich) 5. Start mit dem Button "Starten" in der unteren Toolleiste Beispiel Entsprechend des obrigen Screenshots EXPORT VOM: 16.05.2009 18:57 Bauer`F;516810;04.07.2006;00:00;17,390;52890;16,600;17,390;16,600; Bauer`F;516810;05.07.2006;00:00;17,150;17518;17,390;17,390;17,050; Bauer`F;516810;06.07.2006;00:00;17,280;11937;17,220;17,280;16,900; Bauer`F;516810;07.07.2006;00:00;16,990;4333;17,000;17,030;16,920; Bauer`F;516810;10.07.2006;00:00;16,950;3414;17,000;17,000;16,850; ... Alle anderen Titel vom MDAX Parkett. Formatstrings für das Zahlenformat Formatbezeichner werden in der folgenden Form angegeben: ["-"] [width] ["." prec] type Eine optionale Angabe für die linksbündige Ausrichtung: Eine optionale Breitenangabe: width Eine optionale Genauigkeitsangabe: prec] Das Zeichen für den Konvertierungstyp: type In der folgenden Tabelle sind die verschiedenen Werte aufgeführt: d Dezimal. Das Argument muss ein Integerwert sein. Der Wert wird in einen String umgewandelt, der aus Dezimalzahlen besteht. Wenn der Format-String einen Bezeichner für die Genauigkeit enthält, muss der resultierende String mindestens die angegebene Anzahl von Stellen aufweisen. Enthält er weniger Stellen, wird der String auf der linken Seite mit Nullen aufgefüllt. u Vorzeichenlose Dezimalzahl. Das Format "u" entspricht dem Format "d", allerdings enthält der resultierende String kein Vorzeichen. e Wissenschaftliche Notation. Das Argument muss ein Gleitkommawert sein. Der Wert wird in einen String mit der folgenden Form umgewandelt: "-d,ddd...E+ddd". Wenn es sich um eine negative Zahl handelt, beginnt der String mit einem Minuszeichen. Vor dem Dezimaltrennzeichen steht immer eine Ziffer.Die Gesamtzahl der Stellen im Ergebnis-String (einschließlich der Ziffer vor dem Dezimalkomma) wird durch den Genauigkeitsbezeichner im Format-String festgelegt. Ist dieser nicht vorhanden, wird eine vorgegebene Genauigkeit von 15 Stellen angenommen. Auf den Exponenten "E" im String folgen immer ein Plus- oder Minuszeichen und mindestens drei Stellen. f Fest. Das Argument muss ein Gleitkommawert sein. Der Wert wird in einen String der folgenden Form umgewandelt: "-ddd.ddd...". Wenn es sich um eine negative Zahl handelt, beginnt der String mit einem Minuszeichen.Die Anzahl der Stellen nach dem Dezimalkomma wird durch den Genauigkeitsbezeichner im Format-String festgelegt. Ist dieser nicht vorhanden, wird eine vorgegebene Genauigkeit von zwei Dezimalstellen verwendet. g Allgemein. Das Argument muss ein Gleitkommawert sein. Der Wert wird unter Verwendung des Formats Fest oder Wissenschaftliche Notation in den kürzestmöglichen Dezimal-String umgewandelt. Die Anzahl der signifikanten Stellen im resultierenden String wird durch den Genauigkeitsbezeichner im Format-String festgelegt. Ist dieser nicht vorhanden, wird eine vorgegebene Genauigkeit von 15 Stellen angenommen.Nachfolgende Nullen werden aus dem resultierenden String entfernt. Ein Dezimaltrennzeichen wird nur bei Bedarf angezeigt. Für den resultierenden String wird das Festkommaformat verwendet, wenn die Anzahl der Stellen vor dem Dezimaltrennzeichen kleiner oder gleich der festgelegten Genauigkeit und der Wert größer oder gleich 0,00001 ist. In allen anderen Fällen wird die wissenschaftliche Notation benutzt. n Zahl. Das Argument muss ein Gleitkommawert sein. Der Wert wird in einen String der folgenden Form umgewandelt: "-d,ddd,ddd.ddd...". Das Format "n" entspricht dem Format "f", allerdings enthält der resultierende String Tausendertrennzeichen. m Währung. Das Argument muss ein Gleitkommawert sein. Der Wert wird in einen String umgewandelt, der einen Währungsbetrag darstellt. Die Steuerung der Konvertierung erfolgt mithilfe der globalen Variablen CurrencyString, CurrencyFormat, NegCurrFormat, ThousandSeparator, DecimalSeparator und CurrencyDecimals oder deren Entsprechungen in einer TFormatSettings-Datenstruktur. Enthält der Format-String einen Genauigkeitsbezeichner, setzt dieser den Wert in der globalen Variablen CurrencyDecimals bzw. in deren TFormatSettings-Entsprechung außer Kraft. Bei allen Gleitkommaformaten wird das Zeichen für das Dezimal- bzw. das Tausendertrennzeichen aus den globalen Variablen DecimalSeparator und ThousandSeparator bzw. deren TFormatSettings-Entsprechungen ausgelesen. Die Bezeichner für Index, Breite und Genauigkeit können direkt durch Angabe eines Strings mit dezimalen Ziffern (z.B. "%10d") oder indirekt mithilfe von Sternchen (z.B. "%*.*f") angegeben werden. Im letzteren Fall wird das Argument, das in der Argumentliste auf das Sternchen folgt (es muss sich dabei um einen Integerwert handeln), als tatsächlicher Wert verwendet. Ein Beispiel: Der Breitenbezeichner legt die minimale Länge des Feldes für die Konvertierung fest. Ist der resultierende String kürzer als die minimale Feldlänge, wird er mit Leerzeichen aufgefüllt. Per Vorgabe werden die Leerzeichen vor dem Wert eingefügt, um eine rechtsbündige Ausrichtung zu erreichen. Enthält der Formatbezeichner jedoch einen Indikator für linksbündige Ausrichtung (vor dem Breitenbezeichner steht in diesem Fall ein Minuszeichen), werden die Leerzeichen nach dem Wert eingefügt und dieser linksbündig ausgerichtet. Internetaktualisierungen Grundverfahren Zielformat für alle Aktualisierungen ist ein zeilenorientiertes Textformat. Es muss dabei in der Datei eine eindeutige Kennung wie ISIN, WKN, freie Variable vorhanden sein, die den betroffenen Titel identifizieren kann. Die Aktualisierung der Kursdaten über Internet erfolgt direkt über FTP oder HTTP(s) Verbindungen. Werden Proxyserver für die Internetverbindung genutzt, so sind zwingend unter Einstellungen - Programmeinstellungen die entsprechenden Adressdaten des Proxies einzutragen. Die Kursaktualisierung erfolgt komplett über freie Angebote im und aus dem Netz. Die im Programm eingebundenen Seiten sind dabei frei konfigurierbar. Unterstützt werden folgende Formate: CSV-Textdateien wie sie z.B. vom Yahoo-Server geliefert werden mit beliebigen Trennzeichen, Formateinstellungen sofern die Daten zeilenweise geliefert werden können. Kursdaten in HTML formatiert, sofern die Daten einer Zeilenstruktur folgen also in Tabellen oder als Rohtext hintereinander aufgeführt sind. Konfigurationsparameter Aktualisierungsgruppen Wenn innerhalb des Programms die Kursdaten aktualisiert werden, werden alle Aktualisierungsinformationen aus der Aktualisierungsgruppe ausgelesen. Diese Gruppen bilden eine eindeutige Zuordnung zu den für eine Aktualisierung notwendigen Abfragen ab wie z.B. Abfrageadresse (URL) für die Tagesdaten, Historischen Datenadresse und Formate. Um die Bedeutung der Aktualisierungsgruppen kurz zu umreißen (hier die Einstellungsmaske zu den Gruppen), nachfolgend ein Sceenshot der Einstellungsmaske. Zu sehen sind rechts die aktuellen möglichen Gruppen und links für Yahoo.de[isin][hamburg] die zugehörigen Einstellungen. Erst die Aktualisierungsgruppen stellen die klare Verbindung zu den Abfrageadressen, Börse und Währung her. Da die Zuordnung von Titel/Aktie und Aktualisierungsgruppe immer 1:1 ist, muss immer nur eine passende Gruppe gefunden werden und kein Einzeltest auf Adessebene. Hierzu steht in den Titelstammdaten (siehe oben) neben der Auswahlbox ein entsprechende Testformular zur Verfügung. Eine Aktualisierungsgruppe nutzt daher: Internetadressen als Tagesdatenadresse Internetadressen als Historische Daten Börse bzw. das spezifische Börsenkürzel für die Abfrageadresse, da Yahoo z.B. andere Kürzel als Consors verwendet. Die Kürzel müssen auf der jeweiligen Plattform manuell ermittelt werden und sind weitgehend spezifisch in der Abbildung sein. Es wird damit eine sehr genaue Festlegung der Zieladressen erreicht. Über die Internetadressen werden Sammelabfragen, d.h. gleichzeitige Abruf von Titel-Kursdaten festgelegt und die für den Import zu nutzenden Importformate. Eventl. zu nutzende (Zwischen-)Variablen für den Abruf werden über die Internetadressen festgelegt. Diese Variablen können statisch oder fest sein, so benötigt z.B. Yahoo eine spezielles Yahoo-Symbol für die Abfrage. Dies wird über die Internetvariablen pro Titel gespeichert und kann darüber hinaus, wenn notwendig und bisher nicht bekannt automatisch ausgelesen werden. Im Normalfall sind daher für neue Titel immer nur die WKN, ISIN und Name sowie die Aktualisierungsgruppe festzulegen. Alles andere wird versucht automatisch auszulesen. Internetadressen Eine Internetadressen-Template enthält 2 Basisinformationen: 1. Wie ermittle ich die Zieladresse (URL) für ein Titel, welches über diese Adresse aktualisiert werden kann. Adresse mit Nutzung von Freien und Festen Variablen a. Um eine Zieladresse zu bilden, werden eine Reihe von festen Variablen angeboten. Diese stellen einen Zugriff auf die Stammdaten einer Aktie und den aktuellen Einstellungen für die Kursaktualisierung dar. Variablen werden immer in { } eingeschlossen, um diese von anderen Teilen der URL-Zeichenkette unterscheiden zu können. Freie Variablen sind Platzhalter für Werte, die selbst über feste Variablen oder andere freie Variablen aufgelöst werden müssen. Sie dienen dazu Sammelabfragen aufzulösen oder Zwischenwerte von einem Server zu ermitteln, die benötigt werden um an die eigentlich Kursinformation zu kommen. Zum Beispiel verwendet Stockworld eine interne zufällige Chart.ID, die beim Abruf von Kursdaten benötigt wird. Erst die Auflösung dieser Chart.ID erlaubt den "finalen" Kursdatenabruf. 2. Wie werte ich das zurückgegebene Ergebnis der Seite aus a. Datentyp der Rückgabe (CSV, HTML, Profil) i. CSV: Reines Textformat ohne HTML-Steueranweisungen. ii. HTML: Textformat mit HTML-Steueranweisungen, die zunächst geparst werden müssen. Die Steueranweisungen sind dabei immer in < > eingeschlossen. Die für den Import notwendigen Tests können unter "Einstellungen.HTML-Parsing" durchgeführt werden. iii. Profil: Zurückgegebene Daten werden direkt als Text komprimiert und in eine Profildatei gespeichert. Kursdaten können hier nicht gewonnen werden. b. Importformat c. HTML-Seitenimport, falls HTML-Typ Internetvariablen Internetvariablen werden ausschließlich für die Zielauflösung von URL-Adressen benötigt. Es gibt hier zwei Anwendungsfälle: 1. Sammelabfragen 2. Sich verändernden Adressteilen (je Abruf) auf der Website z.B. Chart.ID bzw. auch Adressteilen die Serverspezifisch sind und einmalig ermittelt werden müssen. Ein Beispiel ist die CompanyID der gespeicherten Profile auf dem Comdirect-Server. Diese IDs sind weitestgehend spezifisch für den Server, bleiben allerdings konstant. Umbenennung Da Variablen Bestandteil anderer Variablen sein können als auch Bestandteil von verschiedenen Internetadressen ist die Umbenennung von Variablen nicht unproblematisch. Um den Vorgang aber nicht unnötig kompliziert zu halten, werden automatisch nach einer Umbenennung alle abhängigen Teile aktualisiert. Dies verhindert Inkonsistenzen. Sammelabfragen Hier das beste und einfachste Beispiel für eine Sammelabfrage. Definiert wird eine solche Abfrage durch die Eingabe von "Maximale Anzahl von gleichzeitigen Abrufen" >1. Geachtet werden sollte auf das Trennzeichen zwischen den Werten für die Abfrage. Werden somit 3 Aktien ausgewählt und verwenden das selbe Aktualisierungstemplate ergibt sich für die Variable (Wir nehmen an alle Werte verwenden die XETRA-Börse): 760080.FX+508850.FX+508810.FX Die Kürzel für die Börsen werden entsprechend den Festlegungen unter Einstellungen/Börse gesetzt und sind teilweise Serverspezifisch. Für den Zugriff ist daher ein Index erlaubt bei 1 beginnend z.B. BOERSE(2) Die Reihenfolge muss dabei für alle Eintragungen gleich bleiben. Dynamische Variablen Ein schönes Beispiel für den 2. Anwendungsfall sehen wir hier. Hierbei wird als ein Zielseite zunächst abgerufen und intern nach der Zeichenkette /charts/t_{Suchstring}.CSV"> Tagesdaten durchsucht. Der {Suchstring} wird dabei nicht gesucht, sondern kennzeichnet einfach nur den Teilbereich, der als Rückgabewert für die Variable gelten soll. Wird somit eine Seite zurückgegeben: <html> <body> <pre>"http://www.testserver.de/charts/t_233323.CSV"</pre> <body> </html> ist der Rückgabewert hier 233323. Internetformate Die Formateinstellungen entscheiden maßgeblich über den Erfolg oder Mißerfolg einer Kursaktualisierung. Festgelegt werden können für die Kursdatenaktualisierung zwei unterschiedliche Importformattypen: Für Aktienkursdaten und Für Aktienstammdaten z.B. KGV, DivR usw. Aktienkursdaten Zur Veranschaulichung einmal ein Protokollauszug für dieses Format "Yahoo.Daily.DE": Sektion: Thiel Logistik (931705) Lade Adresse (CSV) über HTTPGet: http://de.finance.yahoo.com/d/quotes.csv?s=910468.DE+601100.DE+525650.DE+504350.DE+690 100.DE+901626.DE+916980.DE+931705.DE&f=sl1t1d1ghov&e=.csv 910468.DE;87,60;19:56;5/17/2001;0,00;0,00;0,00;0 601100.DE;6,46;20:06;8/3/2001;6,20;6,65;6,65;7082 525650.DE;24,82;13:12;8/3/2001;24,25;24,82;24,65;505 Trennzeichen Unterscheidungskennzeichen zwischen den einzelnen Datenfeldern. Im Protokollauszug hier ein Semikolon. Für das Trennzeichen können auch mehrere Zeichen angegeben werden, wenn gleichzeitig mehrere gleichartige Formate abgebildet werden sollen, die sich nur durch das Trennzeichen unterscheiden. Das Trennzeichen wird dabei mit dem gleichwertigen Dezimaltrennzeichen verwendet. Verwendet wird dabei das Trennzeichen, was in der Zeile an kleinster Position gefunden werden kann. Bei Verwendung des X.Trennzeichen wird auch das X.Dezimaltrennzeichen verwendet. Wenn dies nicht möglich ist, dann wird immer das 1. verwendet. Dezimaltrennzeichen: Kommazeichen z.B. für Dezimalzahlen z.B. 12,23 Datumsformat: M- Monat, wobei nur M und MM erlaubt sind, Ausgeschriebene Monate können sowohl Engl/Deut. ausgewertet werden D- Tag, wobei hier wieder nur D oder DD erlaubt sind. Ausgeschriebene Tage können zur Zeit nicht ausgewertet werden Y- Jahr, wobie hier nur YY oder YYYY möglich sind. Fehlt die Angabe wird das aktuelle Jahr angenommen. Da nicht immer klar ist ob nun einstellig oder zweistellige Datumsfelder vorhanden sind ist ein Joker möglch z.B. ist folgendes erlaubt: D*-M*-Y*. Als Platzhalter ist {DATE} erlaubt, wenn immer das aktuelle Basisdatum angenommen werden soll. Zeitformat: H- Stunde, wobei nur H oder HH erlaubt sind M- Minute, wobei nur M oder MM erlaubt sind Als Platzhalter ist {NOW} erlaubt bzw. {NOW:HH:MM}, wobei HH:MM für die anzunehmende Uhrzeit steht. Beispiel: {NOW:20:00} Positionsangaben: Die Zählung bei allen Positionsangaben beginnt bei 1. Pos(Datum) wäre bei folgendem Beispiel: 910468.DE;87,60;19:56;5/17/2001;0,00;0,00;0,00;0 mit 4 zu setzen. Pos(Suchkennung): Da Kursdaten oftmals in Kurslisten zurückgegeben werden, die nicht identisch in der Reihenfolge der Abfrage vorliegen, muss eine Zuordnung der Daten zu den abgefragten Kurswerten vorgenommen werden. Hierfür wird die Suchkennung verwendet, die als Ausprägungen die Variablen: {WKN} {SYMBOL} {NAME} {ISIN} erlauben. Da diese Angaben teilweise ergänzt sind durch unnötige Angaben sind einschließende Angaben (Präfix, Postfix) erlaubt z.B. {WKN}. für Angaben in der Form 620378.FX;01/01/2001;4.3 wäre ein {WKN}. somit ausreichend da hier nur eine Teilsuche gemacht wird. Zeitverschiebung Um Kursaktualisierungen von Servern mit lokaler Zeit effektiver verwenden zu können, ist es möglich die ausgelesene Zeit um X Stunden zu verschieben. Für den Yahooserver (USA) ist somit 6 einzutragen um eine positive Verschiebung um 6h zu erreichen. Negative Werte sind natürlich auch möglich. Kurzschreibweise für Importformate Die Importformate sind für einen Kursanbieter zwischen Fonds, Zertifikaten und Aktien/Indizes unterschiedlich. Sollten diese importiert werden, mussten bisher für jeden Typ ein Importformat festgelegt werden. Die Importformate sind jedoch weitgehend identisch, haben aber eine unterschiedliche Informationsmenge. Fonds: <Datum>;<Ausgabepreis>;<Rücknahmepreis> Zertifikate: <Datum>;<Kurs>;<Volumen> und letzlich Aktien: <Datum>;<Open>;<High>;<Low>;<Close>;<Volumen> Um dies Abzukürzen gilt folgendes System: Wenn durch das Trennzeichen und der Art der Informationen(korrekte Zahlenwerte) mind. 2 Felder extrahiert werden können: Datum: Entsprechend Pos.Datums-Angabe Zeit: Entsprechend Pos.Zeit-Angabe Close: Kleinste nicht 0 Wert aus den vorhandenen belegten Feldern Volumen: Wenn mehr als 2 vorhanden sind, werden Werte über 1000 als Volumen angenommen Aktienstammdaten Ursprünglich eingerichtet war diese Option für den Import der Daten von Börse Online aus dem Onlinemedium. Mittlerweile gibt es hierfür den direkten Import der BO-Statistik-Tabelle. Dennoch alle Angaben gelten hier parallel zu den Aktienkursdaten. Anzumerken ist hier insb. beim Dividendenfeld, dass hier die DividendenRendite eingelesen wird und intern über die zugehörige Kursangabe zurückgerechnet wird. Aktualisierungen von HTML-Seiten HTML Dateien können in CSV Dateien übersetzt werden durch die Transformation von Tabellen. In HTML werden Tabellen mit <table> <tr> <td>1.Zeile <td>1.Zeile <td>1.Zeile </tr> </table> <table> <tr> <td>2.Zeile <td>2.Zeile <td>2.Zeile </tr> </table> / 1.Spalte</td> / 2.Spalte</td> / 3.Spalte</td> / 1.Spalte</td> / 2.Spalte</td> / 3.Spalte</td> dargestellt. Diese Struktur wird in: ___________:TABLE:_________ 1.Zeile / 1.Spalte°1.Zeile / 2.Spalte°1.Zeile / 3.Spalte° ___________:TABLE:_________ 2.Zeile / 1.Spalte°2.Zeile / 2.Spalte°2.Zeile / 3.Spalte° transformiert. Diese kann dann normal durch die Importformatbeschreibungen ausgelesen werden. Da die Infotabellen nicht zwingend allein auf einer HTML Seite stehen müssen, kann ein Suchschlüssel für eine Tabelle angegeben werden um anderen davor liegende Tabellen zu überspringen z.B. für Werbeblöcke. Nachfolgende werden ohnehin ignoriert. Informationen werden normalerweise zeilenweise gespeichert. Dies macht eine Transformation von Tabellenzeilen in Informationseinheiten notwendig. Mit "TR=Zeilenvorschub" aktivieren Sie diese Funktionalität. Mit Suchschlüssel können Sie gezielt ein Suchwert festlegen, der an irgend einer Stelle innerhalb der gesuchten Tabelle vorhanden ist. Im obrigen Beispiel würden Sie gezielt die 1.Tabelle mit "Kursdaten" filtern, die 2. entsprechend mit Copyright. Alle anderen Tabellen die den Suchbegriff nicht enthalten würde herausgefiltert werden. Testvorgehen Um effektiv zu arbeiten, sollte zunächst im Browser die gewünschte Seite angesurft werden, hier dann der Quelltext (Kontextmenü Quelltext anzeigen) in die Zwischenablage kopiert werden. Dann öffnen Sie im Hauptmenü den Menüpunkt "Einstellungen / Test-HTML-Parsing" und übernehmen mit dem Button "HTML aus Zwischenablage einfügen" im Formular den HTML-Quelltext und parsen diesen automatisch. Das Parsingergebnis wird mit Zusatzinformationen im unteren Ergebnisfenster gezeigt. Über den Button "Importformat" kann bereits von hier aus direkt dieses festgelegt oder geändert werden. Protokoll und Fehlersuche Mit <STRG><F> unter dem Hauptmenü / Aktualisieren / Filter - Internet sollte zunächst das Protokoll aktiviert werden. Checkbox "Protokoll" dient der Aktivierung der Aufzeichnung aller Aktivitäten. Das Protokoll wird nach der Aktualisierung automatisch mit einem Texteditor geöffnet Checkbox "Reines Fehlerprotokoll" dient nur der Aufzeichnung von gemeldeten Fehlern. Nach Abschluss wird das Protokoll auch nur automatisch geöffnet wenn Fehler aufgetreten sind. Das Protokoll dient ausschließlich der Überwachung der Internetkursaktualisierung und sollte auch entsprechend dafür genutzt werden. Folgende Informationen lassen sich direkt aus dem Protokoll herausnehmen: Welche Adressauflösung wurde verwendet mit welchen Variablenauflösungen Welche Rückgabewerte wurden vom Server gemeldet Zusammenfassung der eventl. Problemkandidaten Genau aus diesem Grunde sollte auch für die Einrichtung neuer Adressen der Unittest (lokale Test an einer Beispielaktie) mit dem Protokoll durchgeführt werden um die Eingaben zu prüfen. Im Protokoll sind Sektionen sichtbar, die für Einzelrequest an Server stehen und bei ausschließlicher Verwendung von Aktualisierungstemplates ohne Sammelabfragen = Anzahl der aktualisierten Papiere entsprechen. Die Sektionen bei verwendeten Sammelabfrage entstehen zum einen durch das Maximum für eine Sammelabfrage und zum anderen durch die Trennung von unterschiedlichen Variablen für Sammelabfragen. Protokollrückgabe: N/A = Not avaible / Keine Rückgabe möglich Sektion: € in US$ (EURUSD) Lade Adresse (CSV) über HTTPGet: http://de.finance.yahoo.com/d/quotes.csv ?s=^XBP+^XJY+EURUSD=X&f=sl1t1d1ghov&e=.csv ^XBP;1,4285;20:31;8/3/2001;1,4255;1,4318;1,4306;N/A ^XJY;0,008087;20:31;8/3/2001;0,008066;0,008107;0,008069;N/A EURUSD=X;0,884000;19:01;8/5/2001;N/A;N/A;N/A;N/A Sektion: Thiel Logistik (931705) Lade Adresse (CSV) über HTTPGet: http://de.finance.yahoo.com/d/quotes.csv?s=910468.DE+601100.DE+525650.DE+504350.DE+690 100.DE+901626.DE+916980.DE+931705.DE&f=sl1t1d1ghov&e=.csv 910468.DE;87,60;19:56;5/17/2001;0,00;0,00;0,00;0 601100.DE;6,46;20:06;8/3/2001;6,20;6,65;6,65;7082 525650.DE;24,82;13:12;8/3/2001;24,25;24,82;24,65;505 504350.DE;22,33;20:06;8/3/2001;21,68;23,10;23,06;23895 690100.DE;6,42;20:00;8/3/2001;6,41;7,16;7,05;13033 901626.DE;24,20;20:06;8/3/2001;23,95;25,07;24,01;269251 916980.DE;27,00;19:46;8/3/2001;26,71;27,99;26,71;12150 931705.DE;18,12;20:06;8/3/2001;17,85;18,52;18,03;190293 Sektion: NASDAQ COMP (COMP) Lade Adresse (CSV) über HTTPGet: http://de.finance.yahoo.com/d/quotes.csv?s=^IXIC&f=sl1t1d1ghov&e=.csv ^IXIC;2066,33;23:16;8/3/2001;2047,62;2079,15;2079,15;N/A Sektion: NEMAX-AS PI (846894) Lade Adresse (CSV) über HTTPGet: http://de.finance.yahoo.com/d/quotes.csv?s=^NMDPX&f=sl1t1d1ghov&e=.csv ^NMDPX;1266,37;20:15;8/3/2001;1264,40;1307,89;1302,69;N/A Zusammenfassung + Lion Bioscience (504350-LIO) + Linos (525650-LIA) + Höft & Wessel (601100-HWS) + Plenum (690100-PLE) + NEMAX-AS PI (846894-^NMDPX) + Qiagen (901626-QIA) + BB Biotech DT (910468-BBZD) + Teleplan Int. (916980-TPL) + Thiel Logistik (931705-TGH) + NASDAQ COMP (COMP-^IXIC) + € in G$ (EURGBP-^XBP) + € in JP (EURJPY-^XJY) + € in US$ (EURUSD-EURUSD=X) Gesamt: 13 (Erfolgreich:13/ Aktualisierungsfehler:0/ Auflösungsfehler:0) Beispiel anhand von Google für die Definition von Internetaktualisierungen Beispiel der Einstellungen für die Aktualisierung von AMD und AIR-Berlin Shareholder arbeitet nach folgender Logik: Aktualisierungsgruppe bestimmt Tagesadresse und die Adresse für historische Kursdaten und setzt den zu nutzenden Marktplatz z.B. Frankfurt Adresse hat eine URL und variablen Stammdaten z.B. ISIN, WKN ODER variable Internetvariablen z.B. Yahoo.Symbol Internetvariablen lösen durch Stammdaten wie z.B. ISIN, WKN auf der Zieladresse die interne Kennung auf am Beispiel (noch etwas theoretisch): Aktualisierungsgruppe "Yahoo.de.[isin][frankfurt]" setzt ".F" als Marktkennung. "[isin]" innerhalb des Namens sagt nur, das die interne Auflösung über die nachfolgenden Zwischenschritte auf die ISIN zurückgeht und damit korrekt sein muss. Die Gruppe nutzt die Internetadresse: "Yahoo.de.Tag[yahooVar]" und "Yahoo.de.History[csv][yahooVar]" Die Interetadresse "Yahoo.de.Tag[yahooVar]" geht gegen folgende URL: de.old.finance.yahoo.com/d/quotes.csv?s={Yahoo.de.SA.[yahoo.symbol]}&f=sl1t1d1ghov&e=.csv. Der Teilstring mit {Yahoo.de.SA.[yahoo.symbol]} ist dabei eine Internetvariable, die aufgelöst wird, wenn diese an der zu aktualisierende Aktie in den Stammdaten noch nicht gefüllt ist. Internetvariable "{Yahoo.de.SA.[yahoo.symbol]}" wird damit rekursiv aufgelöst gegen {Yahoo.Symbol.[isin]}{BOERSE}. {BOERSE} kommt von der Aktualisierungsgruppe. Internetvariable "Yahoo.Symbol.[isin]" Aufruf der URL "de.finsearch.yahoo.com/de/?s=de_sort&tp=S&nm={ISIN}&r=*" und Suche nach der Suchkennung als Platzhalter für das Yahoo-Symbol durch "<a href="/echarts?s={Suchstring}." oder "yahoo.com/q?s={Suchstring}.". am Beispiel "AMD" Wenn auf Yahoo-Finanzen-Deutschland (de.finance.yahoo.com/) der Titel "AMD" mittels Symbol(AMD) oder ISIN(US0079031078) gesucht wird (http://de.finsearch.yahoo.com/de/index.php?s=de_sort&nm=US0079031078&tp=S&r=*=Suchen), so wird eine Tabelle mit Ticker-Symbolen zurückgegeben, d.h. den Yahoo-Symbolen gezeigt inkl. Kürzel für den Marktplatz, d.h. z.B. "AMD.F" für Frankfurt. Nun einfach in Shareholder gehen, AMD suchen und Doppelklicken um die Stammdaten zu öffnen. Dort unten in der Symbolleiste die Variablen öffnen und unter Yahoo.Symbol.[isin] "AMD" eintragen. Alternative ist das Feld einfach zu leeren und ein Update durchzuführen. Shareholder löst dann wie oben behandelt, die Adresse und als Unterabfrage das Yahoo-Symbol im Normalfall korrekt auf. am Beispiel "Air Berlin" einfach die URL nutzen: http://de.finsearch.yahoo.com/de/?s=de_sort&nm=Air+Berlin Danach die Tickerliste auswerten und "AB1" in die Stammdaten übernehmen. Wenn Frankfurt genutzt werden soll, dann als Aktualisierungsgruppe einfach "Yahoo.de.[isin][frankfurt]" aus dem Auswahlliste wählen. Konfigurationsmöglichkeiten Internet-Filter Grundsätzlich wird der Umfang einer Kursaktualisierung festgelegt durch die Art des Aufrufs. Es wird primär immer die aktuell gezeigte Liste aktualisiert. Wird jedoch über das Hauptmenü "Aktualisierung Internet" aufgerufen, werden die Selektionen entsprechend berücksichtigt aus dem Internet-Filter. Automatische Datumswahl Hiermit wird statt der 01.11.1990 als Startdatum für die Aktualisierungen automatisch auf Basis des letzten verfügbaren Kursdatums, in der Historie des Titels, die letzten 30 Tage verwendet. Auch wenn noch keine Kursdaten vorhanden sind wird das Ausgangsdatum verwendet. Andernfalls wird jedoch eine einfache Kursaktualisierung gewählt, die nur versucht die letzten 30 Tage aufzufüllen. Neue oder unvollständige Kursdaten von Titeln werden so dynamisch aufgefüllt und gut gepflegte Titel erhalten nur die notwendigste Kursaktualisierung. Sind bereits aktuelle Tageskursdaten vorhanden wird automatisch auch nur ein Update der letzten 14 (Kalender)Tage gewählt. Protokoll tbd Wozu benötige ich überhaupt das Protokoll Wie ist das Protokoll zu lesen Wo finde ich das Protokoll Reines Fehlerprotokoll Das Protokoll wird in diesem Fall nur angezeigt, wenn während der Aktualisierung es zu Problemen kommt bzw. ein Titel als nicht aktualisiert gekennzeichnet werden musste. Dies passiert durch reine technische Fehler als auch durch Probleme im Abruf von vorkonfigurierten Internetadressen. Kundenbeispiele Die nachfolgenden Beispiele müssen nicht 1:1 nachvollzogen werden, sondern es kann nach Erstprüfung auch immer eine Entscheidung zugunsten eines Datenlieferungen/Internetseite erfolgen. In diesem Beispiel sind alle Varianten vollständig geprüft und entsprechend auch in den Stammdaten in Shareholder übernommen. Dies ist in der Praxis aber selten erforderlich, so dass man mit der 1. Sichtprüfung sich auch beispielsweise entscheiden kann nur mit Google-Finanzdaten weiterzuarbeiten. Dadurch verringert sich der Aufwand deutlich und es ist praktisch Routine. Ergänzend kann auch das Online-Newspannel benutzt werden um die ersten Suchanfragen durchzuführen, da hier ja Daten übergeben werden können für die Erstsuche z.B. die ISIN-Nummer. Damit erspart man sich die manuelle Suche nach einem Titel. Einrichtung von US6026822055 ISIN 1. Check http://www.onvista.de US6026822055 mit € oder $ Kursdaten Nach manueller Suche über Nach manueller Suche geführt in € über Nach manueller Suche Rückgabe als $ Werte über http://www.onvista.de/aktien/snapshot.html?ID_OSI=21041839 http://de.finance.yahoo.com/q?s=US6026822055&ql=1 http://www.google.com/finance/historical?q=NASDAQ:M auffindbar 2. Check http://de.finance.yahoo.com/ 3. Check http://www.google.com/finance/ Handlungsableitung Interne Shareholder-Variable für Variablen "onVista.IDNOTATION.[isin]" = 21041839 Interne Shareholder-Variable "Yahoo-Symbol" =MQ7A Interne Shareholder-Variable "Google-Symbol" = NASDAQ:MSPD dabei auffindbar über MQ7A.DE, d.h. über den SUFFIX .DE Handlungsempfehlungen nach Erstprüfung (siehe oben) Titel über F8 suchen Manuelle Anlage auswählen Doppelklick auf Titel und Name hinterlegen mit "MINDSPEED TECH" Auswahl des Marktes "Ausland in US$" oder "Ausland in €" je nach gewünschter Ziel-Währung (aktuell nur von dem 1. Markt abhängig) KLick auf Variablen am unteren Rand Eingabe von 21041839 für onVista.IDNOTATION.[isin] Eingabe von MQ7A für Yahoo.Symbol.[isin] Eingabe von NASDAQ:MSPD für Google-Symbol Eingabe von US6026822055 für die beiden Consors$ und Consors€ - Variablen Auswahl der Aktualisierungsgruppe "Yahoo.de.[isin][xetra]", da hiermit sowohl der .DE Markt abgedeckt wird, als auch die historischen Kursdaten von Yahoo abgefragt werden können oder Auswahl der Aktualisierungsgruppe "Google.com[isin->yahooSym]" wenn $ - Werte gefordert sind Mit Strg-F5 die Ansichten nochmals aktualisieren Ergebnis Volle Abdeckung der Tages - und der historischen Kursdaten in € oder $ über , Google.com[isin->yahooSym] oder sogar Consors.US$.de.[manuell], Consors.EUR€.de.[manuell]. Hier stehen mehrere Alternativen zur Verfügung. Status Währung Aktualisierungsgruppe € Yahoo.de.[isin][xetra] $ Google.com[isin->yahooSym] $ Consors.US$.de.[manuell] € Consors.EUR€.de.[manuell] Einrichtung von CA7751092007 ISIN 1. Check http://www.onvista.de/  http://www.onvista.de/ http://www.onvista.de/ CA7751092007 mit € oder $ Kursdaten Nach manueller Suche über Nach manueller Suche geführt in € über Nach manueller Suche Rückgabe nur als € Werte http://www.onvista.de/aktien/snapshot.html?ID_OSI=86769 http://de.finance.yahoo.com/q?s=CA7751092007&ql=1 möglich über http://www.google.com/finance/historical?q=ETR:RCIB auffindbar Handlungsableitung Interne Shareholder-Variable für Variablen "onVista.IDNOTATION.[isin]" = 86769 2. Check http://de.finance.yahoo.com/ Interne Shareholder-Variable "Yahoo-Symbol" =RCIB.DE 3. Check http://www.google.com/finance/ http://www.google.com/finance/ Interne Shareholder-Variable "Google-Symbol" = ETR:RCIB dabei auffindbar über RCIB.DE, d.h. über den SUFFIX .DE Handlungsempfehlungen nach Erstprüfung (siehe oben) Titel über F8 suchen Manuelle Anlage auswählen Doppelklick auf Titel und Name hinterlegen mit "ROGERS COMMUNICATIONS" Auswahl des Marktes "Ausland in US$" oder "Ausland in €" je nach gewünschter Ziel-Währung (aktuell nur von dem 1. Markt abhängig und bei diesem Titel nach den Prüfergebnissen auch nur € möglich) KLick auf "Variablen" in der unteren Toolleiste Eingabe von 86769für onVista.IDNOTATION.[isin] Eingabe von RCIB für Yahoo.Symbol.[isin] Eingabe von ETR:RCIB für Google-Symbol Auswahl der Aktualisierungsgruppe "Yahoo.de.[isin][xetra]", da hiermit sowohl der .DE Markt abgedeckt wird, als auch die historischen Kursdaten von Yahoo abgefragt werden können oder Auswahl der Aktualisierungsgruppe "Google.com[isin->yahooSym]" wenn $ - Werte gefordert sind Danach kann nach Auswahl des Titels mit Strg-F5 die Aktualisierung ausgelöst werden. Vorzugsweise sollte zuvor mit Strg-F das Aktualisierungs-Protokoll aktiviert werden, um die Erfolge sofort einsehen zu können Ergebnis Status Rückmeldungen aber mit Kurs-Lücken Währung Aktualisierungsgruppe € Yahoo.de.[isin][xetra] € Google.com[isin->yahooSym] - Consors.US$.de.[manuell] € Consors.EUR€.de.[manuell] Einrichtung von DE000TB8A0T4 Hier wird keine manuelle Arbeit notwendig. Der Apple-Call wird sofort erkannt und muss lediglich auf den Markt "Zertifikate/OS" bei Rückfrage zugeordnet werden. Die Aktualisierung erfolgt damit sofort. Einrichtung von US91912E1055 Der Titel wird nicht sofort erkannt. Nach kurzer Prüfung kommt hier eigentlich nur Google-Finance in Frage. Der Markt wird damit auf "US$" festgelegt, damit eine US-Dollar Zuordnung erfolgt. Danach in den Stammdaten noch die Google-Abkürzung hinterlegen. Das wars. Mit F5 die Ansichten nochmals aktualisieren und danach den Titel mit Strg-F5 aktualisieren. Es erscheint der Titel korrekt: Einrichtung von DE0005785802 Der Titel ist in den Stammdaten ohnehin enthalten. Unter Umständen sollte die Aktualisierungsgruppe zwischen Yahoo.de.[isin][frankfurt] und Yahoo.de.[isin][xetra] gewechselt werden, sollte es Schwierigkeiten bei Aktualisierungen geben. Prüfung von vorhandenen Aktualisierungs-Gruppen Ziel Es ist manuell sehr schwer möglich die beste Aktualisierungsgruppe auszuwählen. Es wurde daher eine automatische Routine zur Auswertung des Optimums entwickelt: Die möglichen Kriterien hierzu sind: - Minimalkriterium: Es werden überhaupt Kursdaten zurückgeliefert. Auch dies ist manuell eine unnötige Arbeit. - Geschwindigkeit (Response/Antwortzeiten von Kursanfragen zum offiziellen Server) - Anzahl der zurückgegebenen Kursdatensätze (Anzahl EOD/End-Of-Day) - Aktualität (Erster und Letzter zurückgemeldeter Kursdatensatz) Vorgehen Über den Stammdatendialog, der mit Doppelklick auf einen Titel geöffnet wird, kann über den Reiter "Kursaktualisierung" ein geeigneter Dialog geöffnet werden. Hier kann nach Selektion der Aktualisierungsgruppen oder für alle vorhandenen Aktualisierungsmöglichkeiten (-Gruppen) eine automatische Auswertung mit oder ohne Protokoll (siehe Checkbox) erfolgen. Sollten sich hieraus Optimierungen für die beste Aktualisierungsgruppe ergeben, so kann diese auch sofort über die Auswahlbox umgestellt werden. Folgende Felder werden dabei genutzt: Datum: Letztes verfügbares Kursdatum nach Aktualisierung Kurs: Letzter verfügbarer Kurs nach Aktualisierung Erstes Kursdatum: Erster verfügbarer Kurs nach Aktualisierung insb. zur Prüfung, wann die Kurshistorie vom Anbieter anfängt. Hier gibt es deutliche Unterschiede Anzahl EOD: Anzahl der Datensätze. Diese unterscheiden sich gewöhnlich nicht nur zwischen den Anbietern, sondern auch pro Marktplatz deutlich Zeit 1.: Zeitdauer für den Abruf der Kursdatensätze. Insb. die CSV-Daten (Die Gruppen mit CSV im Namen) sind deutlich schneller. Der 1. Abruf löst intern automatisch notwendige Internetvariablen auf und dauert daher gewöhnlich länger als der 2. Aufruf Zeit 2.: Da im ersten Aufruf nicht verhindert werden kann, dass Internetvariablen aufgelöst werden müssen über seperate Internet-URL-Aufrufe wird ein zweiter Test durchgeführt. Dieser sollte für Vergleiche verwendet werden und ist zum 1. identisch, wenn keine Internetvariablen für diese Gruppe mehr aufgelöst werden müssen. Tai-Pan® Realtime (RT) Einbindung und Möglichkeiten Die Anbindung von Tai-Pan Realtime RT ist inkl. der aktuellen Version 7.1 für folgende Funktionen gegeben: Automatischer Titelimport, wenn ein Titel über Name, WKN, ISIN gekauft werden soll und in der bisherigen Datenbasis noch nicht existiert Tages-Kursdatenaktualisierung Historische-Kursdatenübernahme Fehlermeldungen und Behebung Wenn bei der Aktualisierung über Tai-Pan RT Fehlermeldung erscheinen zur nicht korrekten Registry-Installation, dann sollten folgende Aktionen im Normalfall Hilfestellung geben: 1. Im Login-Screen sollte mit der rechten Maustaste auf das Logo geklickt werden und dort auf „COM-Server“ neu registrieren. 1. 2. Sollten dennoch weiterhin Probleme auftreten, starten Sie Taipan RT für die Registrierung mit Admin-Rechten (Im Startmenü mit r. Maustaste Starten als Administrator wählen) und wiederholen den Schritt #1 Tai-Pan® X Aktualisierungsformen Für Aktualisierungen über Tai-Pan® bzw. der Tai-Pan®-Database-Engine stehen unterschiedliche Zugriffswege zur Verfügung: Direktaktualisierung über die Toolbar EOD-Update (Tai-Pan® auswählen). Diese Form steht im Trading Studio, Depot und den Kurslisten direkt zur Verfügung. Katalogaktualisierung -und komplette Synchronisation gestartet übers Hauptmenü. Siehe hierzu auch unter: Titelstammdaten und Märkte importieren On-Demand Tai-Pan Kursdatenaktualisierung On-Demand Die Funktion steht erst aber der 2.9.8 Version zur Verfügung und aktualisiert automatisch im Hintergrund die Kursdaten mit den Tai-Pan EOD Daten, wenn diese intern nicht mehr aktuell vorliegen. Das Prinzip verhindert vollständig unnötige Aktualisierungsläufe in Shareholder, da die Daten nur dann abgerufen werden, wenn Sie benötigt werden. Das System funktioniert durchgehend für Chartabrufe, Depotdaten, Kurslisten usw. Wird in der Toolleiste die Funktion "Setup Tai-Pan/ Aktualisierung" aufgerufen, werden intern alle OnDemand-Caches für ungültig erklärt und automatisch alle Daten erneut von Tai-Pan geholt bei Abruf. Das System funktioniert dabei vollständig transparent und arbeitet technisch auf unterster Ebene, so dass der OnDemand-Abruf und damit der Abruf der aktuellsten Daten von Tai-Pan zu 100% gewährleistet ist, egal welche Programmfunktion genutzt wird. Verifizierte Versionen Folgende Versionen konnten erfolgreich gestestet werden und sind damit für die Nutzung mit Shareholder freigegeben: Tai-Pan Database-Engine 9-15 Generelle Regeln für die Aktualisierung Bei Aktualisierung über Tai-Pan® wird der umsatzstärkste Markt aktualisiert. Der genutzte Markt wird in den Übersichten zusätzlich angezeigt. Der Abgleich zwischen Tai-Pan® und Shareholder erfolgt zunächst über die ISIN. Ist dieser Abgleich nicht möglich erfolgt ein Fallback auf die WKN. Bei Direktaktualisierungen werden immer ALLE Kursdaten aus dem Tai-Pan®-System übernommen. Bereits vorhandene Kursdaten werden zuvor gelöscht. Dies stellt sicher, dass Bereinigungen, Splitts usw. immer korrekt übernommen werden. Zudem ist der Abgleich performancetechnischer langsamer als ein Komplettabgleich. Während der Aktualisierung werden die letzten Meldungen zu einem Titel ausgelesen und temporär für die Programmsitzung zwischengespeichert. In den Kurslisten finden sich anschließend kleine Newsdatumsfelder. Das Datum gehört logisch zu diesem oder letzten Monat. Mit Klick auf die News wird die passende AdHoc Meldung angezeigt. Die eigentliche Kursdatenbank von Tai-Pan® kann direkt über das Hauptmenü über den Punkt Onlineaktualisierung online abgeglichen werden. Automatische Datenübernahme Eine automatische Titel und Datenübernahme (siehe Aktualisierungsumfang) ist integriert. Diese wird gestartet, wenn innerhalb von Titel-Suchmasken (Marktsuche, Transaktionsfenster - Titelsuche) kein Ergebnis geliefert werden kann. Es wird dann versucht diesen Titel in Tai-Pan zu finden. Die Titel werden hier mit allen gefundenen Attribute gelistet und können per Auswahl direkt übernommen werden. Alle nachfolgende Schritte erfolgen in Shareholder dann wie gewohnt bei internen, zuvor bereits vorhandenen, Titeln. Aktienanalyse Überblick Sie finden in der Navigation alle Möglichkeiten zur Aktienanalyse. Bitte wählen Sie einen entsprechenden Unterpunkt zur Aktienanalyse. Markt - und Kurslisten Watchlisten bzw. Beobachtungslisten Chartgallery Newsticker Titel-Newsbrowser (Online-Panel) Charts Candlestickformationserkennung Neuronale Netze Filtersystem Handelssystem Technische Indikatoren Genetische Algorithmen Marktanalyse - Oracle Spezielle Module im Kurzüberlick Dynamic Filter System Hier werden Werten aus dem Gesamtpool aller vorhandenen Werte auf Basis von Regeln gefiltert. Die Regeln basieren sowohl auf einfachen Vergleichen hinsichtlich Kennzahlen wie WKN, Marktzuordnung, als auch auf komplexen Auswertungen von technischen Indikatoren (Signale, Werte, Limits). Die Bedingungen werden in einem Filtersystem aufgebaut und über ein eingestelltes Handelssystem getestet. Jeder Berechnungslauf eines Filtersystems auf Basis eines einzelnen Wertes wird als Ergebnis gespeichert. Diese Ergebnisse lassen sich so später ausdrucken und vergleichen. In den Ergebnissen sind sowohl alle Performancekennzahlen als auch alle hierfür verwendeten Einstellungsparameter gespeichert. Neuronale Kursprognose-Netze Die Neuronalen Kursprognosenetze werden zur Kursprognose verwendet auf Tagesbasis. Ein kleinerer Prognosezeitraum als 1d kann nicht gewählt werden, da die Lerndaten auf Basis der historischen Kursdaten verwendet werden. Candlestickformationserkennung Im Chartmodul können auf Basis von Einzelcharts die Candlestickformationen angezeigt werden. Will man jedoch über eine festgelegten Liste von Werten erkannte Formationen ermitteln, so ist dies mit diesem Modul systematisch möglich. Markt - und Kurslisten Aufbau und Änderung der Ansicht Candle : Ein um 90° nach rechts gedrehter Candlestick des Tageskurs AK: Aktueller Kurs bzw. letzter Kurs KUV: Kurs-Umsatz-Verhältnis KGV: Kurs Gewin Verhältnis, Basiskennzahl zur Bewertung der fundamentalen Bewertung eines Titels. Der Vergleich sollte im Normalfall zusätzlich immer innerhalb der Branche vorgenommen werden. KCV: Kurs-Cashflow-Verhältnis, Basiskennzahl zur Bewertung der verfügbaren Liquidität eines Unternehmen und damit dem Gesundheitsgrad eines Unternehmen. Volumen: Tagesvolumen KBV: Kurs-Buchwert-Verhältnis PEG(KWV): KGV-Wachstum-Verhältnis bzw. PEG und somit Verhältnis zwischen dem Gewinnwachstum der letzten 5 Jahre und dem aktuellen KGV. DivR: Dividendenrendite Konzernumsatz : Letzter bekannten Konzernumsatz zur Einordnung der Unternehmensgröße ROC : RateOfChange zu einem festgelegtem Zeitraum (nicht nur Stichtag). Betrachtungszeitraum wird abgefragt, sobald auf das kleine schwarze Rechteck im Spaltenkopf geklickt wird oder über die obere Toolbar. Auswahl einer Beobachtungsliste oder eines Marktes Hier wählen Sie entweder eine Beobachtungsliste oder eine Marktliste wie DAX, DOW Jones usw. Als Tabauswahl unten steht Ihnen immer eine Alternative in der Selektion zur Verfügung. Der Inhalt wechselt dabei zwischen Beobachtungslisten-Tabs und Marktlisten-Tabs, je nach letzter Selektion. Auswertung der aktuellen Liste Im Infopannel wird gruppiert nach den Informationen KGV, KWV, DivR und Tagesentwicklung jeweils der Median (M) und der Durchschnittswert (A) angezeigt, aller aktuell in der Liste aufgeführten Werte. KGV: Kurs Gewinn Verhältnis KWV: Kurs Wachstums Verhältnis DivR: Dividendenrendite Entwicklung: Tagesentwicklung Aktualität: Prozentuale grafische Darstellung der Aktualität aller gezeigten Kurslistenwerte für den Tag, sowie für die historischen Kursdaten. Die History wird für einen Titel nur als aktuell betrachtet, wenn die letzten 5 logischen Kurstage vorliegen. Feiertage werden nicht berücksichtigt und führen zu Falschdarstellungen. Median: Die Zahlenwerte werden z. B. aus einer zeitlichen Reihenfolge so umgeordnet, dass eine Datentabelle entsteht, in der die Messwerte der Größe nach geordnet sind. Bei ungeradzahliger Anzahl wird der in der Mitte stehende Wert als charakteristischer Wert angesehen (Median). Stehen in der Tabelle eine gerade Anzahl von Messwerten, so wird der Mittelwert der beiden benachbarten mittleren Werte genommen (Pseudomedian). Median ist ein besseres Maß für den häufigsten Wert als der Mittelwert. Dies gilt in allen Fällen, besonders aber bei schiefen oder mehrgipfeligen Verteilungen. Arbeitsschritte Suche und Schnellsprung Grundsätzlich ist die Marktliste als Tabelle sortiert. Die Sortierung wird durch Klicks auf die Spaltenköpfe jederzeit verändert. Zudem wird aber auf die Titelnamen einen interes Nachschlagen verwendet, so dass Sie sehr schnell innerhalb der Liste zu Intel springen können, indem Sie einfach die Anfangsbuchstaben z.B. "IN" eingeben. Die eigentliche Suche ist immer eine Volltextteilsuche. Als Suchtext können entsprechend den Angaben im Marktsegmentfenster verwendet werden: WKN/ISIN Kurzname Symbolkennung Alle vorhandenen Variablenwerte (definiert als Internet.Variablen) und einzusehen in den Stammdaten (Doppelklick), Variablen Name d.h. sowohl die Suche mit der ISIN: DE000804 ohne ..5501 führt zum Erfolg wie auch einfach nur DVB für den Titel DVB Bank. Filterung Eine Filterung von Einträgen entsprechend der Bezeichnung, ISIN, Branche ist jederzeit möglich durch Klick auf die kleinen Punkte in der jeweiligen Spalte der Kopfzeile. Danach öffnet sich ein kleines Eingabefeld für den Suchfilter. Der Suchfilter wird mit der Entertaste aktiviert. Zurückgesetzt wird dieser durch Löschen der vorherigen Eingabe. Filter können additiv genutzt werden und werden im Spaltenkopf rot markiert, hier die Nutzung eines Kursfilters in der Form: Suche Branche "Bio" mit einem "KGV<13". Filter werden wieder deaktiviert durch Wechsel der Kursliste oder durch Neuaufbau der Gesamtliste d.h. z.B. durch Refresh /F5. Zahlenfilter erlauben durch vorgesetztes "<" oder ">" Zeichen einfachste Auswertungen. Indikatorenliste Es ist möglich für alle Indikatoren ein oder mehrfach diese in die Kursliste einzublenden. Mehr Details unter: Indikatorenlisten Veränderung zum Stichtag anzeigen (ROC) Als Sonderfunktion steht über die Titelleiste die Berechnung eines Rate-Of-Change-Wertes zur Verfügung. Dies kann über einen festlegbaren Zeitraum die Performance der Titel berechnen. Zur Aktivierung muss das kleine schwarze Dreieck angeklickt werden Anschließend kann eine Eingrenzung VON-BIS vorgenommen werden. Das BIS ist insb. sinnvoll, da so sogar Performanceanalysen zu einem bestimmten Ereignis vorgenommen werden können. Ein Beispiel wäre, welcher Wert ist in der letzte Hausse am schnellsten gestiegen direkt nach dem Wendepunkt. Anlage eines neuen Titels Ebenso wird hier das Anlegen eines neuen Titels möglich gemacht. Als Basiseinstellungen dient hierbei das aktuell ausgewählte Marktsegment. Diese wird dann aber ohnehin in den anschließend angezeigten Stammdaten editierbar. Variablenverwaltung Mit "Variablen Reset: <Name>" ist das Zurücksetzen der zuvor selektierten Werte auf einen Leerstring für den betroffenen Variablenwert gemeint. Variablen werden insb. für die Internetkursaktualisierung genutzt um spezifische Referenzfelder für Adressauflösungen zu verwenden wie z.B. für Yahoo-Symbolkennungen. Dies kann nützlich sein, bei automatisch durch das Programm ausgelesenen statischen Variablen, die durch Änderung des Datenlieferanten (teilweise) ungültig geworden sind. Mit erneuter Aktualisierung würde hier bei korrekter Konfiguration die Variable automatisch neu zugeordnet. Watchlistenzuordnung Nach Auswahl der Toolbar "Stammdaten" werden alle vorhandenen Watchlisten dargestellt. Sind aktuell Werte markiert in der Kursliste kann nach Auswahl einer Watchliste die Zuordnung zu dieser ausgewählten Watchliste neu getroffen werden. Als Alternative steht Ihnen zu allen selektieren Werte das Kontextmenü über die rechte Maustaste innerhalb der Liste zur Verfügung. Marktzuordnung Ähnlich dem Prinzip von Watchlistenzuordnungen werden zunächst die zu verändernden Werte in der Kursliste markiert (kann auch nur ein Wert sein). Über das Kontextmenü wird dann über das Untermenü von Marktzuordnung ein Markt gewählt. Die Zuordnung des Wertes zu diesem Papier erfolgt dann sofort. Diese Zuordnung ist gegenüber der Stammdatenänderung im Vorteil durch die gleichzeitige Manipulation von mehreren Werten. Indikatorenlisten Hintergrund Die Indikatorenliste steht nur in der Profiversion zur Verfügung und erlaubt es für alle bekannten Indikatoren die Werte, Zonen, Signale und die Signalstärke (Signale strahlen zeitlich entsprechend Einstellung nach) einzublenden innerhalb der vorhandenen Listen (Marktlisten und Watchlisten). Die Indikatorenliste steht nicht in Konkurrenz zum Filtersystem, sondern erweitert dieses, um eine Vorstufe für manuelle Analysen. Die genutzten Indikatorenparameter können frei verändert werden, durch Doppelklick auf den entsprechenden Indikator. Aktivierung Um die Indikatoren einzublenden, muss in der Funktionsleiste der Button "Indikatoren" aufgerufen werden. Danach öffnet sich das oben gezeigte Einstellungsfenster. Das Fenster zeigt alle verfügbaren Indikatoren eingeteilt in Indikatorengruppen. Diese erlauben so zusätzlich, die Verwendung von unterschiedlichen Indikatorenparametern. Anwendungsfälle könnten z.B. unterschiedliche zeitliche Ausrichtungen oder unterschiedliche Anlagestile sein. Die Einstellungen bleiben über eine Programmsitzung hinaus erhalten. Die Verwendung der unterschiedlichen Berechnungswerte der Indikatoren erfolgt zur Zeit für alle Indikatoren gleich. Berechnungswerte Wert: Eigentlicher Indikatorwert Zone: Wertebereich: 1-3. Hierbei wird der Indikatorwertebereich entsprechend einer Normalverteilung oder einer Gleichverteilung in 3 Zonen eingeteilt. Signal: Entsprechend der aktuell genutzten Einstellung für den Indikator können Kauf/Verkaufssignale automatisch generiert werden z.B. durch Schneiden von Ergebnis/Triggerlinie, Richtungsänderung oder auch Nullachsenschnittpunkt. Dies ist mit Doppelklick wie auch die anderen Parameter direkt beim Indikator einstellbar. Wertebereich ist 1,-1. 1 steht hierbei für Kaufen und -1 für Verkaufen. Signalstärke: Die Signalwerte werde entsprechend der eingestellten Verfallszeit in einer konkaven Funktion abgeschwächt. Das stärkste Signal liegt somit direkt am Signaltag vor. Die folgende Tage weisen dann nur noch eine Restsignal auf. Anmerkung: Divergenzen werden in Indikatorenlisten noch nicht ausgewertet. Ergebnisse Die Ergebnisse werden in der normalen Kursliste als zusätzliche Spalten eingeblendet. In diesem Beispiel sind DSmSt und RSL Werte und Signale eingeblendet. Die Werte sind anschließend beliebig sortierbar und die Spalten durch Ziehen der Ränder in der Größe anpassbar. Besonderheiten (ab 2.10.3) Indikatoren sollten für bestimmte Anwendungsfälle und passend zum eigenen Anlageverhalten optimiert werden. Um beispielsweise optimierte Parameter-Einstellungen für Short (Indikatorengruppe wurde hierfür angelegt) und Long(Indikatorengruppe wurde hierfür angelegt) gleichzeitig verwenden zu können, ist dies nun möglich. Hierzu müssen im Einstellungsdialog nur in beiden Reitern die gewünschte Indikatorenauswahl erfolgen. Hier im Screenshot sind entsprechend aus der Indikatorengruppe Long und Short jeweils der AROON-Indikator ausgewählt worden. Die Namen kennzeichnen dabei folgende Zuordnungen: \<Indikatorenname>.W (\<Indikatorengruppenname>) - Hier Anzeige des Indikatorwertes \<Indikatorenname>.Z (\<Indikatorengruppenname>) - Hier Anzeige des Zonenwertes basierend auf dem Indikatorenwert \<Indikatorenname>.Sig (\<Indikatorengruppenname>) - Hier Anzeige des Signals, wobei hier 1 für Kauf und -1 für Verkauf steht. Das Signal wird nur am selben Tag gezeigt. \<Indikatorenname>.SigSt (\<Indikatorengruppenname>) - Hier Anzeige des Indikatorwertes, wobei hier >0 für Kauf und <0 für Verkauf steht. Das Signal beginnt jeweile mit Vorzeichen bei 1 oder -1 und wird mit den Tagen schächer. Das genaue Verhalten kann am Indikator verändert werden. Watchlisten bzw. Beobachtungslisten Hintergründe Ansichten Technische Limits Einstellungen Automatisch aktualisierte/generierte Watchlisten Besonderheiten gegenüber der normalen Kursliste CRR-Werte Kommentare Vergleichszeitpunkt Löschdatum Positionsfeld (Gültig bis ...) Arbeitsschritte Kursprognosen Title hinzufügen und entfernen Hintergründe Watchlisten dienen der einfachen Überwachung von vorselektierten Werten. Watchlisten können als Ausgangslisten für Auswertungen von Filter, Candlestickformationserkennungen oder andere Auswertungen herangezogen werden. Sinn macht hier vor allem der fundamentale Vergleich innerhalb der Kursliste. Somit ist die Gesamtvorauswahl von interessanten Titeln z.B. aufgrund von Charttechnik, Analystenschätzungen, Änderungen der Marktsituation möglich. Der Vergleich der Gesamtliste einer Watchliste macht dann die konkrete Kaufentscheidung leicher z.B. direkt auf Basis von Relativer Stärke, KGV, Gewinnentwicklung der letzten Jahre (PEG). Ansichten Watchlisten können in Kurslisten oder in Chartgallerien dargestellt werden. Sie werden so als in der Hauptansicht zur Verfügung gestellt. Nicht die Marktlisten sind hier führend, sondern die Watchlisten, da der Gesamtmarkt niemals getradet werden sollte ,sondern dieser erst über ein "SetUp" in den möglichen Tradingtiteln vorselektiert wird. So ist beispielsweise in extrem marktengen Papieren oder Pennystocks selten gewünscht. Das SetUp kann in den meisten Fällen über den Dynamic Filter erfolgen. Die Ergebnisse können dann in Watchlisten abgelegt werden. Diese werden dann händisch kontrolliert. Technische Limits Da jeder Titel zu jeder Watchliste zugeordnet werden kann, ist intern eine platzsparende und performante Bitzuordnung gewählt. Dadurch ist die Anzahl der möglichen Watchlisten begrenzt. Durch eine Nutzung eines Int64 Wertes sind so maximal 64 Watchlisten möglich. Einstellungen Um die angezeigten Watchlisten zu ändern (nicht die enthaltenen Werte sondern die verfügbaren Listen selbst) gehen Sie unter Hauptmenü.Einstellungen.Watchlisten. Automatisch aktualisierte/generierte Watchlisten Da Watchlisten einige Besonderheiten aufweisen, werden alle realisierten Depotwerte als auch die aktuellen Depotwerte in eigenen generierten Watchlisten geführt. Diese müssen nicht manuell angeglichen werden, sondern werden bei Depotänderungen automatisch angepasst. Besonderheiten gegenüber der normalen Kursliste Watchlisten besitzen neben der Anzeige von Candles, ISIN, Bracheninformationen, Anzeige von Stopkurse auch die Möglichkeit der Nutzung von Kursprognosen mittels Neuronalen Kursprognosenetzen und die Berechnung von CRR-Werten. CRR-Werte CRR-Werte stehen für Chance-Risiko-Relation und berechnen sich aus Stopkurslinien die einem Einzelchart gesetzt und verändert(gezogen) werden können. Die Chance wird durch die Zielkurslinie (Stopkurs) gesetzt, das Risiko durch die vorhandene Stopkurslinie. Das Verhältnis zwischen Chance (Zielkurs-AK) / Risiko (AK-Stopkurs) ergibt das CRR. Der CRR Wert von genutzt um das Investment mit dem besten Verhältnis zwischen Chance und Risiko auszuwählen. Hierzu werden alle relevanten Wert in einer Watchliste zusammengeführt (eventl. durch Fundamentalanalyse, Filter, Candlesticks usw.) und einzeln im Chart manuell durch Ziel/Stopkurse verwertet. Der beste CRR Wert wird dann nach sorgfältiger Prüfung gekauft. Die Positionsgrößenbestimmung erfolgt während der Transaktionseingabe. Kommentare Der Aufruf erfolgt in Watchlisten über das Kontextmenü "Editieren" nach Selektion des Titels in der Liste über die rechte Maustaste.Jeder Watchlisteneintrag kann Zusatzinformationen über ein Freitextfeld aufnehmen. Bei den automatisch generierten Watchlisteneinträge enthalten Sie folgende Informationen: Depotwerte: Letzter Transaktionszeitpunkt (Verkauf). Sortierungen nach dem Kommentarfeld sind so vorwärts/rückwärts, möglich um die weitere Entwicklung der verkauften Positionen zu werten. * Positiv/Negativ-Listen durch den Abgleich der Börse-Online-Statistiken: Prozentualer Anpassungswert zwischen zuvor gespeicherten Jahresgewinnergebnis und dem neuen zu aktualisierenden Wert. Filter: Aus Filtersystemen entstandene Watchlisten enthalten den Filternamen im Kommentarfeld. Grundidee ist jedoch Gründe der Aufnahme oder Nebenbedingungen des Watchlisteneintrages abzuspeichern z.B. Deutlicher Ergebnisverbesserung, HotStock, Börsenmagazin, Depotaufnahme in einem Börsenbrief usw. Vergleichszeitpunkt Zu jedem Watchlisteneintrag kann zusätzlich ein Datumswert gesetzt werden, der in der Anzeige als Vergleichszeitpunkt in der prozentualen Entwicklung seit dem Stichtag gewertet wird. In den automatisch generierten Watchlisteneinträgen sind folgende Zuordnungen getroffen: Depotwerte: Letzter Transaktionszeitpunkt (Verkauf) Löschdatum Um Watchlistenwerte, die mit einer zeitlich begrenzten Gültigkeit eingestellt werden, automatisch entfernen zu können, darf ein Löschdatum gesetzt werden. Interessant ist das Vorgehen, wenn z.B. auf Basis von Hauptversammlungsterminen Watchlisten aufgebaut werden. Positionsfeld (Gültig bis ...) Die aus Filtersystemen entstandenen Watchlisten, enthalten das im Filtersystem berechneten Rankingwert. So bleiben festgelegte Rankings auch ohne Neuberechnung des zugrundeliegenden Filters vorhanden. Arbeitsschritte Kursprognosen Um für alle in einer Watchliste angezeigten Werte eine Kursprognose durchzuführen, muss lediglich am unteren Rand der Punkt Prognose ausgewählt werden. Danach wird in einem Hintergrundthread die Kursprognose für alle angezeigten Werte durchgeführt. Title hinzufügen und entfernen Das Zuordnung von Einzeltiteln ist über folgende Möglichkeiten gegeben: Kursliste . Titel markieren . Kontextmenü . Watchliste . Hinzufügen Candlestickcharts . Suche . Titel markieren . Kontextmenü . Watchliste auswählen Automatisch gesetzt über Dynamic Filter- Ergebnislisten (nach Rückfrage) Automatisch gesetzt über den Import von Börse . Online . Statistiken (Postitive, Negative Gewinnschätzungs-Änderungsliste) Das Entfernen einer Zuordnung von Einzeltiteln ist dagegen über folgende Schritte möglich: Hauptmenü . Einstellungen . Watchlisten . Titel markieren . Button Löschen Kursliste . Titel markieren . Kontextmenü . Watchliste . Entfernen Watchliste . Titel markieren . Aus der Liste entfernen Als Shortcut zum Entfernen steht Ihnen wieder das Kontextmenü zur Verfügung bzw. die Tastenkombination <Strg><Entf>. Chartgallery Möglichkeiten Sinn der Quickcharts ist in wenigen Sekunden eine Übersicht einer Beobachtungsliste zu bekommen. Insbesondere bei starker Verwendung der Candlesticktechnik erlaubt diese Chartssicht eine sehr gute Markteinschätzung. Die einzelnd dargestellten Charts können angepasst werden in der Matrixform (Größe) Anzahl der dargestellten Tage, sowie dem Reaktionsverhalten bei Click auf den Chart. Neben den Quickcharts steht auch die Möglichkeit des direkten Vor-und Zurücksprungs zu anderen Werte der gleichen Ursprungsliste in einem Einzelchart zur Verfügung. Beispiel: Sie wählen ein Chart im Depot aus, so steht Ihnen in diesem Chart eine Vor-Rücksprung zu den anderen Wertes des Deports zur Verfügung. Der Einzelchart muss nicht geschlossen werden, um den anderen zu öffnen. Benutzen Sie hier einfach die <Cursor Links> und <Cursor rechts> Tasten. Im Chart gibt ist alternativ dazu links oben zugehörige Links/Rechts-Pfeil-Buttons (SpinUp-Buttons). Anzeige Es finden sich mit grauer Schrift dargestellt in jedem Chartfenster Vergleichswerte Startzeitpunkt: Zum ersten angezeigten Kurstag, d.h. dem vorgegebenen Stichtag (siehe obere Toolbar für die Einstellung) Tiefstpunkt: Im Vergleich zum absoluten Tiefstpunkt innerhalb des gesamten gezeigten Chart-Zeitraums Höchstpunkt: Im Vergleich zum absoluten Höchstpunkt innerhalb des gesamten gezeigten Chart-Zeitraums Die Charts sind nicht zoombar oder verschiebbar in den Achsen. Klicken Sie hierzu einfach auf den Chart bzw. öffen das zugehörige Kontextmenü (r.Maustaste) um das vollständige Chartfenster zu erhalten. Hier können Sie dann auch entsprechende Funktionen ausführen. Newsticker Möglichkeiten Der Newsbrowser stellt eine Direktdarstellung von Favoriten/Bookmarks des IE zur Verfügung. Der Startordner wird über die Programmeinstellungen festgelegt. Ausgehend von diesem Ordner werden alle Favoriten rekursiv eingelesen und als Tabs zur Verfügung gestellt. Die Tabs werden mit jedem Refresh (F5) erneut aufgebaut. Die zur Verfügung stehenden Funktionen gleichen denen eines normalen IE-Fensters (ActiveX). Wird ein Link gewählt, wird dieser beim nächsten Programmstart automatisch aufgebaut. Dies hat einen kleinen Cache/Zeitvorteil, da der Aufbau/Request der Seite bereits beim Programmstart im Hintergrund erfolgt. Titel-Newsbrowser (Online-Panel) Ziel Hiermit wird der direkte Zugriff auf Webinhalte erlaubt. Als Aufrufparameter sind daher alle üblichen Aktienidentifikationen wie WKN, Name, ISIN und alle vorhanden Variablennamen erlaubt. Der Zugriff sollte somit in vielen Fällen direkt auf die einzelnen Wert des Infoanbieters möglich sein z.B. von Finanztreff, Comdirect, Consors, Wallstreet-Online usw. Ansicht Im Fenster werden unterhalb von Gruppenicons unterschiedliche Websites angezeigt. Diese werden auf Basis der Einstellungen in der Datei Internet.URLs.txt (Ordner Daten von Sharholder) dargestellt. Die Datei kann bequem editiert werden über einen Texteditor oder direkt aufgerufen werden über den Menüpunkt "Editieren". Die Einstellungen sind nach dem Speichern und erneutem Anzeigen der Onlinepannels aktiv. Das Fenster kann entweder mit seperatem Fenster oder Innerhalb des Fensters dargestellt werden. Geändert wird die Einstellung durch das kleine Icon neben dem Titel. Ausgehend von der kommenden Ursprungsliste z.B. einer Watchliste kann mit den Cursortasten <Pfeil links> und <Pfeil rechts> bequem zwischen den Einzeltiteln gewechselt werden. Mit <ESC> ist das Schließen des Fensters jederzeit möglich. Anpassung der gezeigten Adressen Die Beschreibungsdatei (URL.TXT) ist ähnlich einer Windows INI Datei aufgebaut und enthält Segmentgruppen (z.B. News, Profile) die durch Schlüsselwörter eingeleitet werden. In diesen Segmentgruppen befinden sich die nach einem Schema organisierten Eintragungen. Mögliche Segmentgruppen : [News], [Charts], [Profile], [OS], [Quotes] Schema: Name der Seite~@~URL Innerhalb der URL sind folgende Variablen erlaubt : %ISIN%: ISIN Nummer %WKN%: Wertpapierkennnummer %VARIABLENNAME%: Alle vorhandenen Variablennamen (siehe Aktienstammdaten-Variablen) werden unterstützt Beispiel URL.TXT: [News] Comdirect~~@~~https://isht.comdirect.de/html/search/main.html?sTab=news&cbAktien=check ed&cbOther=checked&sSearchterm=%ISIN%&sWpType=UKN Finanztreff~~@~~http://www.finanztreff.de/ftreff/kurse_einzelkurs_news.htm?sektion=nac hrichten&u=0&k=0&s=%WKN%&b=0&l=276 Consors~~@~~http://info.consors.de/financeinfos/search.do?pattern=%ISIN% [Charts] ... Das Onlinepannel interpretiert die in der URL Konfigurationsdatei vorhandenen Parameter sowohl als POST als auch GET Variablen. Hiermit lassen sich somit nahezu alle Seiten direkt ansteuern, wenn die genutzten Variablen bekannt sind. Hinweise für die Einrichtung Um neue Seiten einzubinden ist es ratsam zunächst die gewünschte Seite normal im Internet Explorer "anzubrowsen". Hier können dann über das Kontextmenü die Eigenschaften der angezeigten Seite angezeigt werden. Hier finden Sie dann unter URL die komplette URL der angezeigten Seite. Der URL Text kann herauskopiert werden und an den passenden Stellen mit Platzhaltern ersetzt werden. Charts Grundaufbau Symbolleiste Chartbild und Vertikale Achsen Als mögliche Ausprägungen für die Chartdarstellung sind die Candlesticks (s.o) wie auch der Linienchart möglich. Auf Balkencharts wird bewusst verzichtet, da diese mit weniger Informationen als Candlesticks eher als leistungsärmere westliche Alternative zu den japanischen Kerzencharts zu sehen ist. Die Umstieg auf Kerzencharts sei deshalb jedem Anwender ans Herz gelegt. Die Nutzung von Zeitrastern verleiht hierbei den Kerzencharts eine besondere Bedeutung. Durch diese wird sehr schnell ein Überblick über die in einem Zeitabschnitt wichtigen Kurspunkte gegeben: High (oberes Dochtende), Low (unteres Dochtende), Open (Kerzenkörper), Close (Kerzenkörper). Durch die Bildung der Zeitraster ist die Nutzung im Intradaybereich ebenso möglich wie auch bei Wochencharts. Der Reiz in der Chartform liegt in der Darstellung des Kampfes zwischen Bullen und Bären. Es ergeben sich hier auch immer wieder typische Verhaltensmuster, die teilweise zu extrem zuverlässigen Formationen führen. Bitte schauen Sie hier für nähere Informationen in entsprechender Literatur. Zu diesem Bereich existieren eine Reihe von Auflagen verschiedenster Autoren und Verlage. Achsen Links: Kursentwicklung in % im Bezug auf den ersten vorhandenen Kurspunkt Rechts: Absoluter Kurs Volumenchart Der Volumenchart ist einiges der sehr wichtigen Instrumente um Ergebnisse anderer Analysen validieren zu können. So müssen viele Formationen, Ausbruchspatterns durch Entwicklungen im Handelsvolumen bestätigt werden um ernst genommen zu werden. Die Farbbelegung (rot | grün) zeigt allein ob der Tageskurs höher oder tiefer als der vorhergehende Schlusskurs liegt. Wird die Maus im oberen Kurschart bewegt, wird im Volumenchart die zugehörige Volumenlinie durch eine Erhöhung des Farbkontrastes ( hellrot | hellgrün ) hervorgehoben. Ein Zoom ist in diesem Bereich ebensowenig möglich wie die Achsenverschiebung. Bitte nutzen Sie hierfür den Hauptkurschart. Im Volumenchart können zum aktuellen Stand des Programms keine eigenen Linien eingezeichnet werden. Der Volumenchart kann die Volumendaten direkt anzeigen oder in einer normalisierten Form. Die Normalisierung erfolgt durch Division des 50Tage-Durchschnitts. Das Volumen schwankt so um die Durchschnittslinie 1. Volumenwerte <1 werden nur grau dargestellt. Vorteil der Methode ist dass das Volumenumfeld (letzten 50Tage) beim Vergleich des Volumens berücksichtigt wird. Dies erlaubt eine wesentlich bessere Einschätzung der Informationen aus dem Volumen, da oft nicht die Höhe sondern das Verhältnis zum Umfeld entscheidend ist. Die Einstellung der GD-Tage ist zur Zeit nicht möglich. Horizontale Achsen, Zeit-Tabs und Notizen Achse Unten: Zeit/Datum, wobei bei Rasterung eine Skalierung vorgenommen wird, die bei Fibonacci-Retracements beachtet werden kann. So wird bei Nicht-Skalierung das Wochenende mit dargestellt, was aber zu Lücken und zu einer Expansion des Zeitachse und damit der X-Achse führt. Wird die Zeit bei Chartbetrachtungen einbezogen ist diese Skalierung daher zu beachten. Die Empfehlung ist daher für ernsthafte Anwendung nur die Handelstage einzublenden und damit die einfachste X-Skalierung zu verwenden. Einstellungen Die Einstellungen in einem Chart sind als Standardeinstellungen oder spezifisch für eine Aktie abzulegen. Die Zuordnung der spezifischen Einstellungen erfolgt über die WKN/Symbol. Die Standardeinstellungen werden (falls vorhanden) genutzt, wenn keine Spezialisierung der Einstellungen vorhanden ist. In der Folge führen Veränderungen der Standardeinstellung zu keinen Veränderungen bei Charts die mit spezifischen Einstellungen vorhanden sind. Standardeinstellung: Nutzung wenn keine Spezialisierung vorhanden ist Spezifisch : Wird vorrangig gegenüber der Standardeinstellung benutzt, soweit vorhanden; Nur in den Spezifischen Charts können Trendlinien gespeichert werden Automatische Standard-Antwort Um eventl. Nachfragen aus dem Weg zu gehen, kann in den Programmeinstellungen ein Standardvorgehen (Immer Speichern, Immer Ignoren, Immer Fragen) festgelegt werden. Dies erleichtert die Arbeit mit Charts einwenig. Einstellungsmenü Einstellungsmenü: Abhängig von den genutzen Indikatoren wird der Zugriff auf die entsprechenden Indikatoreneinstellungen erlaubt, sowie der Zugriff auf weitere Funktionen möglich. Indikatorenparameter: Einstellungen der Indikatoren können gruppiert werden in Indikatorengruppen z.B. in kurzfristige (Intraday) als auch in langfristige Einstellungen im Sinne der geeigneten Parameterwahl. Die Erstellung neuer Gruppen erfolgt unter der Hauptansicht der Software (nicht im Chart) unter Einstellungen.Indikatorengruppen. Der Wechsel erfolgt unter Auswahl der gewünschten Gruppe. Management: Da die Wahl eines geeigneten Stoppkurses sinnvoll vor allem durch Chartanalyse ermöglicht wird, kann durch die Aktivierung des Stopkurs-Klick-Moduses dieser Schritt vereinfacht werden. Hierzu nach Aktivierung den Mauscursor auf die gewünschte Kurscursorposition bringen und einmal Klicken. Die Klickposition wird als Kursposition ausgelesen und als Stoppkurs festgelegt. Exportieren: Der Hauptchart sowie alle aktiven Indikatorenfenster werden als JPEG-Dateien und einer passenden HTML-Datei exportiert und sofort anschließend mit dem eingestellten Standardbrowser angezeigt. Logarithmierung Logarithmierung/ Lineare Darstellung: Für die saubere Chartanalyse sollte immer die Logarithmierung (Defaulteinstellung) genutzt werden. Dies stellt sicher, dass Wertentwicklungen zwischen zwei Punkten grafisch in einem gleichen Abstand dargestellt wird. Das heisst Wertentwicklungen von 50 auf 100 werden ebenso skaliert und sichtbar (100%) wie von 1 auf 2(100%). Bei nicht logarithmierten Charts wird die Entwicklung optisch einfach nicht richtig gezeigt und der Anwender neigt daher dazu die Situation falsch einzuschätzen. Daneben gibt es aber handfeste mathematische Gründe. Invertierung der Chartansicht: Dies im ersten Moment unsinnige Verhalten erleichtert dem technischen Analysten/Chartisten die Erkennung von Formationen oder Trendlinien. So sind viele "Augen" auf die Erkennung von Bullishen - Formationen trainiert, haben aber Schwierigkeiten die inversen Formationen (die immer existieren) zu erkennen. Die Funktion hilft hier weiter. Linienstärke: Kurslinie kann (1 Punkt | 2 Punkte ) dargestellt werden. Neben der Stärke wird bei Darstellung der Candlesticks auch zwischen durchgezogener und gestrichelter Linie gewechselt. Die gewählte Form liegt im Ermessen des Anwenders. Trendlinien + Trendlinie hinzufügen: Im Chart können eigene Trendlinien gezeichnet werden. Nach Auswahl wird der erste Klick im Chart als Startpunkt zum Zeichnen einer Trendlinie verstanden. Der Endpunkt definiert sich mit dem zweiten Klick. Im Modus "Hinzufügen" können mehrere Trendlinie hinzugefügt werden. Das Zoomen und die Zeitachsenverschiebung ist in diesem Moment nicht möglich. - Trendlinien hinzufügen: Eingezeichnete Trendlinien können nicht modifiziert werden. Gelöscht werden diese indem der für eine Trendlinie zugehörig angezeigte Startpunkt (rot) angeklickt wird. Nach Rückfrage zum Anwender erfolgt dann die Löschung dieser. Hier ein wenig sinnvolles Beispiel, trotzdem ist klar, dass es sich um beliebig zeichenbare Linien handelt, die nach freier Wahl beschriftet und eingefärbt werden können. Trendlinien sind innerhalb eines Betrachtungshorizonts (Intraday | Historie) beliebig nutzbar, ohne Einschränkungen durch die Nutzung von Zeitraster. Kursziele aus vielen Formationen ergeben sich bei Ausbildung oder Bestätigung dieser, bestimmte durch die Charttechnik definierte Kursziele. Um die Abstandsmessung von einem Punkte zum anderen zu erleichtern, ist die Kurszieleinzeichnung integriert. Während des Zeichenvorgang werden hinzu parallel zwei Linien (rot,blau) gezeigt, wobei die rote Linie als Ziellinie (Kurszielfestlegung) genutzt werden kann. Die Kursziellinie kann wie jede andere Trendlinie gelöscht werden. Fibonacci-Retracements Kursbewegungen erfolgen nach der Elliot-Wave-Theorie in Kurswellen. Diese bewegen sich nach bestimmten Gesetzmäßigkeiten sowohl zeitlich als auch wertmäßig in festlegbaren Wellendurchmesser, die durch den, in der Natur so oft vorkommenden, Golden Schnitt beschrieben sind. d.h. Up/Down - Moves erfolgen in Höhe von 38%, 50%, 69%. In ungewöhnlich hoher Treffsicherheit kommen so auch heftige Kursbewegungen an einen der Fibonacci-Retracements zum Stehen. Eingezeichnet werden die Marken durch zwei Mausklicks. Der erste beschreibt den Hochpunkt und der zweite den bisherigen Tiefstpunkt (eventl. 0, wenn AK = LOW) der Kurse. Die Retracementmarken sind wie Trendlinien zu behandeln und können ebenfalls entsprechend gelöscht werden. Cursordaten Cursordaten in einem eigenen Fenster: Diese Möglichkeit erlaubt für viele Anwender eine übersichtlichere Nutzung des Charts, da bei Deaktivierung die Kursdaten (Datum, H, L, O, C, V ) direkt im Chart angezeigt werden und oftmals Kursbereiche überdeckt werden. Im Normalfall ist dies aber unproblematisch, da bei Mausbewegung dies wieder ausgeblendet werden. Es verbleibt wieder beim Ermessen des Anwenders. Kauf - und Verkaufszeitpunkte: Wenn Käufe und Verkäufe zum aktuellen angezeigten Papier existieren, so werden die zugeörigen Transaktionszeitpunkte eingeblendet mit kleinen Fähnchen. Die Darstellung funktioniert dabei auch im Intradaybereich, sofern die Zeitpunkte in diesen Bereich hineinfallen. Candlesticks Candlesticks anzeigen: Wechsel der Chartdarstellung zwischen Linienchart und Candlestickschart. Die Einstellung ist unabhängig und funktioniert als Wechsel sowohl bei Verwendung von Rastern als auch bei gewünschten Wechsel der Darstellungsform in Intradaycharts und History-Charts. Candlestick-Formationen: Im Kursverlauf werden bekannte Formationen gesucht und mit kleinen Fähnchen angezeigt. Als Pattern werden z.B. Hammer, Morning Star, Evening Star, Hanging Man, Dark Cloud Over und andere gesucht. Der Suchalgorithmus entspricht einem Expertenwissen und damit einer kodierten Faktendatenbank. Automatische Neujustierungen oder Änderung des Suchalgorithmuses sind dabei zur Zeit nicht implementiert. Bollinger Bands Bollinger Bands: Sind durch die Volatilität des Basistitels beeinflusste Durchschnitte die in einem festgelegten prozentualen Abstand über und unter dem aktuellen Kurs eingezeichnet werden. Die Idee ist, dass Kurse sich in einem Kursband und damit in einer Range bewegen. Die Range kann je nach Schwankungsbreite des Basistitels unterschiedlich groß sein. Bei Verengung des Kursbandes (Rückgang der Volatilität) wird oft mit einem plötzlichen Ausbruch beendet. Die Bollinger Bands helfen Marktphasen zu erkennen und Kursziele zu setzen. Sie können auch zur Festlegung von Stoppkursen genutzt werden, ähnlich anderen Systemen die auf GD/MA aufsetzen. Gleitende Durchschnitte anzeigen: Als Defaulteinstellung werden in jedem Chart direkt zwei Gleitende Durchschnitte (gestrickelte, durchgezogene Linien) eingeblendet. Die Linienfarbe wird dadurch bestimmt, ob der GDkurs< GDkurs-1 oder GDKurs > GDKurs-1. So zeigt der GD Lang allein durch seine Farbe die wahrscheinliche Trendphase in der sich der Markt bewegt. Die kurze-GD-Linie entsprechend den kurzfristigen Trend. Die Änderung der verwendeten Parameter für den GD finden sich im Einstellungsmenü. Indikatoren Trendbestimmung: Ausgangspunkt fast aller charttechnischer Überlegungen ist die Trendbestimmung. Eine Unterstützung zur Trendbestimmung bietet hier die Gruppe der Trendbestimmungsindikatoren. Eine Chartanalyse beginnt folglich zumeist mit der Auswertung dieser Indikatoren. Volalität: Diese Gruppe beschreiben die Schwankungsbreite eines Titels. Daraus lassen sich zusammen mit anderen Indikatoren wertvolle Informationen über die Entschlossenheit der Marktteilnehmer gewinnen. Einige Formationen benötigen auch die Bestätigung durch das Volumen bzw. leiten indirekt daraus Entscheidungen ab wie z.B. das fallende/steigende Dreieck usw. Trendfolger: Diese Gruppe von Indikatoren setzen auf einen bestehenden Trend auf und versuchen diesen in seiner normalen Schwankungsbreite zum Traden greifbar zu machen. Eines der bekanntesten und häufig verwendeten ist der Gleitende Durchschnitt. Momentum/Oszillatoren: Anwendung finden diese Indikatoren vor allem in Trading Range-Märkten alias Seitwärtsbewegungen. In starken Trendphasen ist nicht gegen den Trend zu handeln und die Verwendung nur als zweites Hilfsmittel zu empfehlen. Umsatzindikatoren: Das Handelsvolumen spielt bei der Auswertung von Märkten/Titeln eine entscheidene Rolle, da hierdurch das Verhalten was im Chart erkennbar wird validiert werden kann, d.h. es kommt zu Bestätigungen oder zu Divergenzen. Die Indikatoren die auf das Handelsvolumen aufsetzen sind allerdings selbst nur als Ergänzung zu der obigatorischen Betrachtung der "Rohdaten" des Handelsvolumen zu sehen. Sie sollten nicht versuchen ohne diese Betrachtungen zu Entscheidungen auf Basis der Chartanalyse zu kommen. Fenster Andocken der Fenster: Um die Anwendung der Indikatoren in der Chartanalyse zu erleichtern, hilft diese Funktion die Darstellung des Basistitels und deren markttechnische Auswertung optisch zu synchronisieren, d.h. die Indikatorenfenster werden direkt unter dem Hauptchart gelegt und gegebenfalls mit diesem in der Größe und Position angepaßt. Die Einstellung kann mit dem Chart gespeichert werden. Die Größe der Indikatorenfenster bleibt beim Andocken erhalten. Zurücksetzen der Einstellungen Dies führt zum Zurücksetzen der Einstellungen des Nutzers auf die Defaultwerte. Bei Spezifischen Charts führt dies automatisch zur Nutzung der Einstellungen in der Standardeinstellung. Ist bereits die Standardeinstellung in Nutzung führt das Zurücksetzen sogar zur Nutzung der intern fest beschriebenen Standardeinstellungen der Software. Aufruf: Menü"Einstellungen".Charteinstellungen.Zurücksetzen Grundbedienung Tastaturbefehle Zeichenlinien Zoomen/Unzoomen Zoomen: Das Zoomen Chart ist in allen Charts gleich und wird durch Aufziehen eines Rechtecks beginnend mit der linken oberen Ecke vollzogen. Die Maus ist dazu zunächst zum Startpunkt zu führen und anschließend dann mit gehaltener Maustaste die untere rechte Ecke des Zoombereiches zu definieren. UndoZOOM: Soll ein Zoom rückgängig gemacht werden, ist ein Rechteck von rechts unten nach rechts oben aufzuziehen. Die Größe des gewählten Rechtecks spielt dabei keine Rolle, da danach immer eine 100% Skalierung im Chart zu sehen ist. Zeit-Fenster verschieben Drücken Sie die rechte Maustaste innerhalb des Charts und bewegen Sie die Maus nach links oder rechts bei gehaltener Maustaste. Sie können sich so frei im Chart in der Zeitachse bewegen. Sonderfunktionen Indikatorenfenster Candlesticks Handelssystem für Chartindikator In Charts kann innerhalb der Profiversion ein automatisch generiertes Handelssystem/Dynamic Filtersystem zur Prüfung der Signalqualität eines Indikatores verwendet werden. In einer späteren Version können beliebige Filtersysteme auf Basis eines Einzelcharts ausgeführt werden. Die generierten Signale eines Indikatores werden dabei durch ein Handelssystem interpretiert und hinsichtlich von Performancekennzahlen ausgewertet. Indikatorenpannel Hintergrund Dieses Modul ist nur in der Profiversion freigeschaltet und wird vom Chartfenster aus aufgerufen. Das Indikatorenpannel zeigt alle vorhandenen Indikatoren übersichtich hinsichtlich Indikatorenwert, Trigger, Zone, Aktivierungsgrad und Performance/Signalgernerierung der letzten 5 Tage an. Anzeige Folgende Informationen werden im Detail gezeigt: "25.06.2003" - Betrachtungszeitraum. Dieser wird durch Veränderung des Cursors im Hauptchart verändert und mit wenigen Millisekunden nachgezogen. "Ändern" - Hier verändern Sie die Berechnungsparameter des Indikatores. "Wert" - Eigentlicher Indikatorwert. Der Wertebereich ist hierbei nicht normalisiert und liegt somit abhängig vom Indikator selbst in unterschiedlichen Wertebereichen. Details finden Sie in den Beschreibungen des Einzelindikatores selbst. "Trigger" - Einige Indikatoren verwenden für die Signalgenerierung zusätzliche Triggerwerte. "Zone" - Entsprechend der eingestellten Zonenanalyse wird hier übersichtlich die 1..3 Zone angezeigt. "Aktivierung" - Aktivierungsgrad der Signalgebung. Dies entspricht dem Kreisdiagramm am Anfang der Zeile. Verkaufssignale werden rot (<0) und Kaufsignale grün (>0) dargestellt. "Performance" - Alle Signale der letzten 4 Tage + Heute werden hier dargestellt. Wieder gilt die Farbregelung grün=Kauf, rot=Verkauf. Ausgangspunkt ist der aktuelle Tag (von rechts nach links) Das Pannel kann nur geschlossen werden über das Pannel-Fenster selbst. Eine Deaktivierung des Funktionsbuttons mit Chartfenster schließt das Fenster nicht. Candlestickformationserkennung Grundlagen Das Funktionsmodul zur automatischen Erkennung von Candlestickformationen erlaubt es automatisiert in Kurslisten nach Formationen zu suchen. Erkannt werden alle 54 Formationen, die auch im Grundlagenbereich beschrieben sind. Die Pattern basieren auf Analysen von Steve Nison im Buch "Technische Analyse mit Candlesticks". Die Einstellungen für die Candlestickerkennung werden gemeinsam mit den allgemeinen Indikatoreinstellungen organisiert über Indikatorengruppen verwaltet. In der Praxis bedeutet dies, dass Einstellungen im Candlestickscanner ebenfalls im Chart übernommen werden, da beide Systeme auf dem selben Einstellungsobjekt basieren. Die Performance des Candlestickscanners erlaubt das Durchsuchen von ca. 200 Werten nach Candlestickpatterns innerhalb von knapp 10 Sekunden (je nach Rechnerausstattung). Weitere Informationen und Statistiken finden Sie auf meiner WIKI-Website zum Thema: www.candlestickformationen.de Besondere Kennzeichnungen von Patterns [EV] steht für Exklusives Volumenpattern, d.h. das Pattern wird nur gefunden, wenn spezifische Anforderungen an das Volumen erfüllt werden. Die Vorraussetzungen sind spezifsch pro Pattern und in den meisten Fällen nach statistische Prüfungen festgelegt worden. [V] Neben dem normalen Pattern wird dieses Pattern gesondert aufgeführt, wenn definierte Nebenbedingungen im aufgetretenden Volumenumfeld auftreten. Einstellungen Einstellungen für die Candlesticksuche: Als Textdarstellung alle Parameter mit Werten ausgeschrieben 1./2. Validierung nach X Tagen. Jedes gefundene Pattern kann so nach den eingestellten X Tagen (und somit zu zwei Zeitpunkten) zum ursprünglichen Fundtag in seiner Performance geprüft werden. Ausschlaggebend ist hierbei eine binäre(schwarz/weiß) Bewertung, d.h. erfolgreicher Trade oder nicht. Suchzeitraum: Formationen werden nur für den im Beobachtungszeitraum liegenden Bereich angezeigt. Ausgangspunkt ist der aktuelle Tag, zurückgerechnet um die eingestellten Tage. Wenn hier 2 Tage gesetzt sind, so werden nur Formationen der letzten 2 Tage gelistet. Pattern-Signalstärkenfilter: Nur Formationen mit der eingestellten Signalstärke werden angezeigt. Die zugeordneten Signalstärken sind in der Hilfe unter Candlestickformationen nachzusehen. Hinweis: Die Einstellungen können vor Auswahl einer Suchbasisliste verändert werden. Toolbar Visuell: Aktualisieren Aktualisierung der Patternsuche. Export: Nach Excel Eine dargestellte Auswertungsliste wird als CSV Datei exportiert und geöffnet. Im Normalfall öffnet sich hier Excel. In Excel können hier Sortierungen, Auswertungen und Prüfungen vorgenommen werden. Beim Export werden sowohl das Datum, Programmversion neben den eigentlichen Pattern, Treffer, Gesamt, Quote gelistet. Tools: Chart Da Candlestickformationen charttechnischen Ursprungs sind und nur selten unter mathematischen Modellen eingeordet werden, können die Charts zu gefundene Aktien mit einem Doppelklick auf einen Wert oder durch Auswahl eines Elements und dem Betätigen des Buttons "Chart" angezeigt werden. Tools: Kursaktualisierung Für die Formationserkennung ist ist zwingend notwendig, dass die Kursdaten aktualisiert vorliegen sowohl im historischen Bereich, als auch im Intradaybereich (Tagesdaten), da einige Formationen Bestätigungskerzen erwarten. Um den Vorgang zu erleichtern ist eine entsprechende automatische Aktualisierung aller Werte aus der aktuell ausgewähten Watchliste integriert. Nach der Aktualisierung wird automatisch die Formationssuche erneut ausgeführt. Hilfe: Allgemein Hilfe zu den Grundlagen von Candlestickpatterns ... Einstellung: Candlesticks Hier werden alle Rahmenparameter für die Candlestickformationserkennung eingestellt: Wichtig ist hierbei zu verstehen, dass die Candlesticks in einem Trend eingeordnet werden müssen. Dies erfolgt über den DSmSt - Indikator, der eigentlich zu den Momentum/Oszillatoren gehört, hier aber dennoch effektiv eingesetzt werden kann. Die Parameter: Signalstärkefilter, Prüfungszeitraum können gleichzeitig auch direkt über die Hauptmaske eingestellt werden. Die Einstellungen werden intern beide gleichberechtigt am Indikator gespeichert. Auswertung Neben den gefundenen Werten (Formationen) werden die gefundenen Werte unterhalb der Formation eingeordnet. Zur Einordnung wird hierbei in der Spalte "Formation" die Fundstelle/Fundtag gefunden. In der Spalte "Aktien" der gefundene Wert, mit einer im Klammern angegebenen DSmS-Wert zum Zeitpunkt der Fundstelle. DSmSt steht für den Indikator: Double Smooth Stochastik und wird intern für die Candlestickformationserkennung zur Einordnung von Trends genutzt, die für beinahe alle Formationen von sehr großer Bedeutung ist. Für die eingestellten Tage der 1./2.Validierung werden hier die Gesamtanzahl der Treffer im Verhältnis zur Gesamtanzahl der gefundenen Formationen für das aktuellen Pattern gezeigt. Als Treffer gilt alles, was nach dem Einstiegszeitpunkt +Tage(Close) > Einstiegszeitpunkt(Close). Unter Anzahl wird die Menge der gefundenen Werte für das aktuelle Pattern beschrieben. Basislisten Unter dem Button "Einstellungen" sind die Basiseinstellungen für die Candlestickformationen verändert werden. Als Basislisten stehen die Segmente Depot, Watchlisten und Marktsegmente zur Verfügung. Je nach Auswahl werden die entsprechenden Auswahlmöglichkeiten neu dargestellt. Hier werden alle vorhandenen Watchlisten gezeigt. Nach Auswahl eines der Möglichkeiten werden für die enthaltenen Werte nach Formationen gesucht. Sonderfunktionen für gefundene Werte Übernahme von Fundwerten in Watchlisten Über das Kontextmenü der gefundenen Werte lassen sich diese sofort in eine Watchliste einordnen. Chart Mit einem Doppelklick auf einen Wert wird das Chartmodul geöffnet. Sind auf Basis der bisherigen Charteinstellungen (sofern vorhanden) für diesen Wert die Candlestickformationen bisher nicht eingeblendet, werden diese hiermit automatisch aktiviert. Das Pattern wird im Chart sowohl räumlich, als auch zeitlich korrekt eingeordnet. Eine Sichtprüfung des technischen Umfeldes ist so möglich. Im Chart selbst findet sich zu jedem Pattern, die Bezeichnung, als auch der zugehörige Double Smooth Stochastik Wert für den Trendzustand. Der Wertebereich liegt hier zwischen 0..100. Große Werte stehen für einen überkauften Bereich, kleine Werte für überverkaufte. Existieren mehrere gefundene Patterns für einen Tag, so werden diese aggregiert dargestellt. Als Besonderheit gibt es Fortsetzungsmuster bzw. besonders interessante Bewegungen (hohe Prozententwicklung im Vergleich zur Durschnittsbewegung des Titels) die grau mit transparentem Hintergrund eingeblendet werden. Insb. die hohen Prozententwicklungen innerhalb eines Tages sind lukrativ für Trades. Diese technisch zu erkennen und im richtigen Moment die richtigen Nerven versteckt zu haben, ist sehr schwierig. Um diese dennoch aktiver beobachten zu können und sich im historischen Chart darin zu üben, werden diese Tage markiert. Neuronale Netze Zielsetzung für das Neuronale Kursprognose-Netz Elementar für das weitere Vorgehen und die Festsetzung der Architektur ist die Frage, was das Neuronale Kursprognose-Netz überhaupt beantworten soll. Die bisherige Zielsetzung einer Kursprognose ist unscharf. Für Kursprognosen stehen verschiedene Möglichkeiten zur Verfügung, die so in Ihrer Anwendung auch unterschiedliche Möglichkeiten bieten. Zielsetzung ist es, auf die bisherige Softwareumgebung abgestimmt, eine Vorhersage für die prozentuale Kursveränderung auf einen vorher eingestellten Zeitraum zu bieten. Eingebettet in das Programm geht die Prognose daher in einem sogenannten „Trading -Studio" auf. Die Zielsetzung ist damit auf eine quantitative Aussage des Neuronalen Prognose-Netzes abgestimmt. Hiermit wird dann der Vergleich der Prognosen sehr differenziert möglich. Als Kontrastalternative steht hier vor allem die binäre Prognose mit den möglichen Aussagevarianten „steigt", „fällt" oder „keine Veränderung". Dies erlaubt aber nur eine sehr vage Aussage über die Sicherheit der Prognose, da es lediglich drei Abstufungen gibt. Für den Aktienhandel ist diese Form daher eher ungeeignet. Hierbei ergibt sich, wie sich später noch zeigen wird, bei binären Targetwerten eine Einschränkung des Informationsgehaltes. Die Qualität lässt zudem im Rahmen der Fehlerrückrechnung (BackpropagationLernalgorithmus) nach. Auch ein signifikanter Trend in den zu berücksichtigenden Zeitreihen kann Probleme machen, da evtl. das Netz bei den steigt/fällt Aussagen allein die Bewegungsrichtung der Zeitreihen nachbildet. Folglich wird ein Punkt- oder Differenzwert bevorzugt. Auf die Ausgabe von Handelssignalen (steigt/fällt) wird verzichtet. Anwendung Quickstart Über die Toolbar steht für jeden Titel über das Kontextmenü und dem Aufruf "Kursprognose" in der Profiversion die Funktion "Prognose" zur Verfügung. Es muss hier dann lediglich das Neuronale Netz ausgewählt werden und die Berechnung mit Starten begonnen werden. Die Berechnung erfolgt im Hintergrund über Threads und das Ergebnis wird bei Fertigstellung wie hier zu sehen gezeigt. Kursprognoseberechnung in Watchlisten Dargestellt unter dem Reiter "Watchlisten" sind neben der Watchlistenfunktion auch die Abfrage der Prognosewerte des NN möglich inkl. einer übersichtlichen Auswertung der zugrundeliegenden Datenreihen. Sie sind somit gezwungen bereits eine Vorauswahl der tradebare/interessenten Werte vorzunehmen auf Basis von Watchlisten, um dann für diese eine Prognose erstellen zu können. Als Basisinformationen sind neben der Stopspalte hierzu der Prognosewert und eine Auswertungsspalte inkl. der Prognose für heute enthalten. Details zur Auswertungsstrategien/Optimierungen Sie bekommen somit eine Möglichkeit übersichtlich und schnell die Prognosewerte darzustellen und mit einem Blick statistisch in Ihrer Prognosequalität einzuordnen. Der einfache Vergleich zwischen heutiger Tagesentwicklung und der vorhergesagten (fokusiert nun auf die letzte Qualitätsbeurteilung) hilft eigentlich nicht weiter. Aus diesem Grunde stehen zum einen die Korrelationsanalyse für die Bewertung der Qualität in der Prognoserichtung und -höhe, als auch die Bewertung der Wegstrecke für die Einordnung der gesamten Vorhersagequalität der Kursrichtung zur Verfügung. Informationseinheiten der Prognoseauswertung Als Informationblock finden sich hier im Uhrzeigersinn (links oben beginnend): R: Korrelation zwischen den bisherigen Prognosen und den tatsächlichen Kursverläufen (0,55) WS: Wegstrecke (0,13) P: Vorhergesagte Entwicklung für den heutigen Tag (-0,4%) DS: Anzahl der für das Netz zur Verfügung stehende Datensätze des Titels (=Kurswerte) (6002) Arbeitsschritte zur Modellierung einer Netze Bei der Modellierung des Netzes wäre es möglich gewesen, auf bereits vorhandene Entwicklungsumgebungen für Neuronale Kursprognose-Netze zurückzugreifen. Neben der von Siemens entwickelten SENN Umgebung oder auf finanzmathematische Belange zugeschnittene Plattform Neuroshell gibt es auf dem Markt eine Reihe von weiteren Produkten. Da weitestgehend auf eine Eigenentwicklung zurückgegriffen wurde, soll das 5. Kapitel zur Darstellung des entwickelten Modells genutzt werden. Das Ziel ist hier die Darlegung der Arbeitsschritte und Vorüberlegungen für die Nutzung von Neuronalen Netzwerken in „Shareholder" für die angewandte Kursprognose. Aufbau eines eigenes Netzes Abbildung: Ansicht der Netwerktopologie In diesem Beispiel sind x- Eingabeneuronen mit 5 Hidden Neuronen, die wiederum mit zwei Hidden Neuronen und diese schließlich mit einem Ausgabeneuron verbunden. Eine eingegebene Strukturänderung wird mit der Entertaste abgeschlossen. Der Anwender ist in der Wahl der Netz-Struktur eingeschränkt, da ein Feedforward- Netzwerk mit kontinuierlichen unbeschränkten Aktivierungszuständen und einem Ausgabeneuron erwartet wird. Die Setzung des Verbindungsnetzwerkes ist hingegen frei. Abbildung: Verbindungsmatrix Die Darstellung erfolgt in Matrixschreibweise (komplette Strukturansicht). Die Beschriftungen sind entsprechend der verbundenen Zellen farblich strukturiert. Ausgabeneuronen haben die Farbe rot, Eingabeneuronen die Farbe grün. Abbildung: Einstellung für ein Neuron Da jedes Neuron, als kleinste Einheit eines Neuronalen Kursprognose-Netzes, spezifische Attribute aufweist, werden diese in einem eigenen Formular erfasst. Einstellbar sind hierbei jedoch nur die verwendete Position (Schicht), Verwendung eines Schwellwertes, Aktivierungsfunktion und der Name des Neurons. Eingabeneuronen können aus diesem Formular nur theoretisch ergänzt werden, da praktisch die Möglichkeit zur Zuordnung von Eingabedaten (Indikatorenwerte usw.) fehlt. Um genau diese Zuordnung herzustellen, muss das eigens angelegte Formular „Eingabeneuronen" von der Hauptansicht aus benutzt werden. Abbildung: Festlegung der Eingabeneuronen Die möglichen Indikatoren sind hier in einem Katalog, entsprechend der Clusterzugehörigkeit bzw. der Indikatorenfamilie (Momentum, Trendfolger usw.), erfasst. Im Programm können die selben Indikatoren mehrfach genutzt werden, wenn diese in unterschiedlichen Indikatorengruppen organisiert sind. Sinn der Indikatorengruppen ist die Gruppierung der Indikatoren nach zeitlichen Aspekten. Hierzu werden die Parameter jedes Indikators separat gespeichert und können vom Chartmodul aus verändert werden. Datenvorverarbeitung Sehr zeitaufwendig gestaltet sich die Datenvorverarbeitung. Um die Übersicht zu bewahren, werden die Indikatoren grafisch aufbereitet in einem Diagramm dargestellt. Für die Datenvorverarbeitung gibt es vom Anwender folgende Einstellungsmöglichkeiten: Einteilung der Trainings-/und Validierungsmenge Marktsegment der Datenbasis Kursprognosezeitraum Der Prognosezeitraum sollte vom Anwender bereits in den ersten Schritten festgelegt werden und ist daher unter dem „Topologie"-Reiter vorzunehmen. Während der Datenvorverarbeitung werden im Einzelschrittmodus die erzeugten Daten im Chart dargestellt. Der Fortschritt wird mit Unterstützung der Aufbau-Grafik angezeigt. Im Einzelschrittmodus ist mit „Weiter" der Vorgang fortzusetzen und mit „Abbrechen" der Gesamtprozess zu stoppen. Zeitfenster Als Datenbasis werden tagesbasierte Werte zugrunde gelegt. Für die Entwicklung ist es erforderlich, die Daten in ein einheitliches äquidistantes Zeitraster in Form einer bestimmten Tagesperiodizität zu bringen. Es wird dazu ein 5-Tages-Raster angelegt, wobei an Wochenenden kein Wert erwartet wird und Feiertage aufgefüllt werden. Dieses Raster wird dann einheitlich von allen verwendeten Indikatoren eingesetzt. Konsistenz der Kursdaten Bei den dem Netz präsentierten Kursdaten ist dringend auf die Konsistenz dieser zu achten. Schwierigkeiten bereiten hier in der Praxis vor allem die Bereinigung von Kapitalerhöhungen, Aktien-Splitts sowie von Dividendenabschlägen. Erfolgt hier keine Bereinigung der Kursdaten, so ist in jedem Fall die Qualität des Netzes anzuzweifeln, da Kurssprünge bei den Trainingsdaten dem Netz zusammen mit den verwendeten Inputvariablen gegeben werden, die so in den historischen Kurdaten nie zu finden waren und zur fehlerhaften Konvergenz des Netzes führen muss. Diese Prüfung muss komplett per Hand erfolgen und kann nur in wenigen Fällen wirklich automatisch durchgeführt werden. Glättung von Kursdaten In den Daten ist ein hoher Rauschanteil vorhanden, der sogenannten stochastischen Komponente in den Zeitreihen, welche im Sinne von nicht prognostizierbaren Ausprägungen verstanden werden muß. Das Netz muss allerdings die deterministische Komponente extrahieren. Im Sinne der Datenaufbereitung könnte eine Glättung der Daten vorgenommen oder anstatt der Tagesdaten, die Wochendaten mit Durchschnittsbildung herangezogen werden.. Clusterbildung Bei der Festlegung der Inputvariablen können diese entsprechend ihrer inhaltlichen Einordnung in Cluster zusammengefasst werden. Der Sinn besteht darin, die Eigenschaften einer solchen Einheit einmalig festzulegen. Dies ermöglicht dann beispielsweise das Einfrieren eines bereits optimierten Clusters, um eine Signalweitergabe entsprechend der Verbindungsgewichtung zu erlauben, jedoch das Lernen an diesen Verbindungsstellen zu unterbinden. Werden Cluster deaktiviert, so ist eine weitere Untersuchung und Optimierung des Netzes durchführbar. Als Clustergruppen werden aufgrund einer vorhergehenden logischen Einteilung vorgeschlagen: Trendbestimmungsindikatoren Momentumoszillatoren Trendfolgeindikatoren Volatilitätsindikatoren sowie Umsatzzahlen Parameterfestlegung Die Rohdatenvariablen müssen hinsichtlich des eigentlichen Prognoseziels ausgelegt werden. Da es sich bei den Rohdaten vor allem um Indikatoren handelt, ist daher zunächst eine geeignete Parameterfestlegung zu wählen. Da das Konzept nach außen nicht als Black BOX erscheinen soll, wird hier die Festlegung durch den Nutzer des Netzes, mit Hilfe seiner Erfahrungen in der optimalen Parameterwahl, gemacht. Es existieren jedoch Standardwerte. Es sei an dieser Stelle erwähnt, dass genetische Algorithmen für die Optimierung und evolutionstechnische Selektion der geeigneten Parameter für die Testdaten herangezogen werden können. Praktisch wurde dies jedoch noch nicht vollzogen. Logarithmierung Die Zeitreihe des Prognosewertes kann logarithmiert werden, da wertmäßige Abstände auf allen Zeitebenen die selbe Bedeutung bekommen. Es kann für das Netz ein Unterschied bedeuten, ob eine Kursprognose von einem Eingabewert 10 oder von 1000 ausgeht. Die Logarithmierung erfolgt nicht sofort bei den Kursdaten, sondern bei Notwendigkeit bei der Berechnung eines Indikators. Einteilung der Testdaten Die Zeitreihen der Testdaten wird in drei Teilmengen eingeteilt: Trainings-, Validierungs- und die Generalisierungsmenge. Die Validierungs- und Generalisierungsmenge werden zum Test der Prognosegüte herangezogen und im Rahmen der Fehlerrückberechnung nicht verwendet. Die Validierungsmenge wird im Training genutzt, um ein Übertrainieren/ Overfitting des Netzes zu vermeiden; während die Generalisierungsmenge zur stichprobenartigen Prüfung des trainierten Modells herangezogen wird. Tabelle: Einteilung der Testdaten Ein chronologische Reihenfolge der Validierungs- und Trainingsmenge wird zugunsten einer zufallsgesteuerten Reihenfolge verworfen. Die Speicherung der nicht linearen Reihenfolge muss für die Vergleichbarkeit der Ergebnisse, nach Neustarts des Trainings, bereits während der Datenvorverarbeitung erfolgen. Die einseitige Anpassung der Gewichte in starken Trendphasen kann durch die zufällige Streuung ebenso vermieden werden. Dadurch, dass nur jedes 6.Beispiel für die Validierungsmenge verwendet und aus der Trainingsdatenmenge herausgenommen wird, wird vermieden in die Analyse unbeabsichtigt einen eventuell vorhandenen statistischen Zusammenhang zum Wochentag der Kursentwicklung hineinzunehmen. Wird zum Beispiel eine Auftrennung jedes 5.Beispiels zur Anwendung kommen, so würde die Validierungsmenge nur aus Testdaten eines Wochentages bestehen. Beginnt die Analyse damit an einem Montag, sind alle Testdaten vom Montag. Der Wochentag der Validierungstestmuster verschiebt sich um genau einen Tag nach vorne bei Nutzung eines 6.Tage Rhythmus. Die Prüfung erfolgt innerhalb des Programms mit der ganzzahligen Restwertfunktion MODULO „Index mod 6=0". Korrelationsanalyse Im Rahmen der statistischen Vorauswahl kann auch eine Korrelationsanalyse auf Redundanzen der Inputzeitreihen durchgeführt werden. Inputreihen der selben Clustergruppe, die Korrelationen über |0.9| aufweisen, werden dann auf eine Clustergruppe reduziert. Diese Vorauswahl ist allerdings problematisch, da nach der Feststellung einer hohen Korrelation die Entscheidung auf eine der Kursreihen vom Anwender getroffen wird und hierbei eine Fehlerfunktion des Netzes überhaupt nicht zur Beachtung kommen kann. Eine Netzausdünnung im Verlauf der Lernphase ist wesentlich intelligenter; auch wenn der Rechenaufwand vor allem in den ersten Evolutionsstufen sehr hoch sein kann. Den Anwender interessiert vor allem die Bereitstellung der Indikatorendaten. Dies baut auf mehrere Einzelschritte auf. Am Anfang aller Berechnungen steht die Berechnung der eigentlichen Indikatorwerte. Erst dann werden mit Hilfe dieser Daten entsprechende zusätzliche Informationen extrahiert wie die Zonenlage-, Divergenzen-, Kauf- und Verkaufsignale. Die Normalisierungswerte fassen keine Zusatzinformationen gegenüber den ursprünglichen Indikatorwerten. Sie enthalten allein die für das Netz benötigte transformierte normalisierte Datenmenge. Zweck der Datennormalisierung ist es, eine möglichst gleichförmige statistische Verteilung der Werte für jeden Nerzwerkinput und -output zu erreichen. Auch sollten die Werte so skaliert werden, dass sie in den Wirkungsbereich der Inputneuronen fallen. Als Mindestbedingung werden die Daten auf eine für die Inputneuronen handhabbare Größenordnungen reduziert. Die liegen entsprechend der gewählten Aktivierungsfunktionen in einer Spanne von 0 bis 1 (Log) oder -1 bis 1 (TanH). Für das überwachte Lernen sind neben den Inputdaten, die Kursprognosezielwerte bereitzustellen. Das Lernverfahren erhält somit qualitative (Fehler-)Angaben durch den Vergleich der aktuellen Netzausgabe mit dem erwarteten Wert. In den Kursdaten ist ein sehr hoher Rauschanteil vorhanden, der so vom Netz durch die vielen kurzfristigen hohen Ausschläge (Tagesschwankungen) nicht nachgebildet werden soll. Nachzubilden ist allein die deterministische Komponente in den Kursdaten. Die Zielwerte der Kursprognose werden kurzfristig geglättet mit einem 3-Tages- Durchschnitt. Neben der Glättung werden die Daten nach der Berechnung per Zufall gespeichert. Trainingseinstellungen Die Lernparameter sind für das aktuelle Neuronale Kursprognose-Netz unter dem Reiter „Trainingseinstellungen" abgelegt. Der Typ der Netzinitialisierung ist nicht verhandelbar und wird vorgegeben. Die Auswahl des Lernverfahrens, unter der Vorraussetzung der Verwendung von Feedforward-Netzwerken, ist zwischen Standard Backpropagation und RProp möglich. Das Backpropagation-Lernverfahren wird mit aktivierbaren Verbesserungen wie dem Weight Decay und dem Momentum-Term erweitert. Da das Netztraining oft ein systematischer Try&Error-Prozeß ist, wird ein Trainings-/Testprotokoll integriert. Dieses kann auch automatisch nach jedem Trainingsvorgang erzeugt werden und umfasst die Netztopologie, Trainingseinstellungen und die Testergebnisse. Bitte lesen Sie die Bedeutungen der Einzelbegriffe in den theoretischen Betrachtungen auf dieser Seite weiter unten nach! Training Wenn die Topologie, die Datenvorbereitung und die Festlegungen für die Trainingseinstellungen abgeschlossen worden sein, kann das eigentliche Training des Neuronalen Netzes erfolgen. Das Training wird über den Button "Netztraining" gestartet. Das Lernen des Netzes verläuft eigenständig ohne Eingriff des Anwenders, wenn nicht der Einzelschrittmodus aktiviert wird. Die Überwachung des Fortschrittes ist jederzeit mit Auswertung der Testergebnisse möglich. Neben der Teststrategie sind die dynamischen Bereiche des Neuronalen Kursprognose-Netzes in einem Histogramm dargestellt. In diesem sind die Schwellwerte und die Verbindungsgewichte fortlaufend abzulesen. Neben dem Lernprozess des Neuronalen Kursprognose-Netzes hat auch die bisher noch wenig beachtete Teststrategie eine bedeutende Rolle für den Erfolg eines Kursprognosesystems. Die möglichen zum objektiven Test des Neuronalen Netzwerkes zu nutzenden Strategien stammen dabei zumeist aus der Statistik. Nachfolgend werden einige Varianten beschrieben ohne Anspruch auf Vollständigkeit. Bei der Veranschaulichung bleibt es bei der bisher genutzten Variabelenzuordnung von ti für den Erwartungswert (Teaching Value) des Musters i und von oi für die tatsächliche Ausprägung für das Muster i. Die Betrachtung erfolgt dabei für n-Beobachtungszeitpunkte. Mean Square Error (MSE): Ein weit verbreitetes Maß zur Beurteilung eines Fehlers wird wie folgt definiert: Korrelationskoeffizient (R): In der allgemeinen Form beschreibt dieser die lineare Korrelation zwischen vorhergesagten und beobachteten Zeitreihenwerte über n-Beobachtungszeitpunkte. .Der Korrelationskoeffizient kann Werte zwischen -1 und +1 annehmen, wobei -1 einen starken negativen Zusammenhang erklärt. Bei R=0 ist kein Zusammenhang erkennbar. Theils Koeffizient: Der Theilsche Koeffizient vergleicht die Vorhersage mit einer sogenannten „Trivialen Prognose". Ausgehend von der Random-Walk-Theorie wird die Hypothese aufgestellt, dass die beste Schätzung für Morgen der Kurs von Heute ist. Ist die Vorhersage besser als der triviale Mechanismus, müssen mit der nachfolgend dargestellten Funktionsformel die Werte für Tr £ 1 sein. Demzufolge sind Werte Tr ³ 1 schlechter als die „Triviale Prognose", da dann der Funktionsterm (Triviale Methode) im Nenner (Fehlerfunktion) kleiner ist als der Funktionsterm im Zähler (Prognosesystem). Mean Reversion: In Anlehnung an den Theil Koeffizienten kann man davon ausgehen, dass die beste Schätzung von Morgen der historische Durchschnitt ist. Wieder gilt mit einem Tp=1, dass die Prognose dem beobachteten historischen Mittelwert entspricht. Die Formel stimmt mit dem Theils Koeffizienten Tr überein. Allein der unterschiedliche Ansatz des Vergleichsterms im Nenner unterscheidet beide. Realisierter Return (RR): Bei dem realisierten durchschnittlichen Return wird die Ausgabe normalisiert auf Richtig- und Falschaussagen. Der Return entspricht der Summe der richtigen Vorhersagen, vermindert um die Summe der Falschen. Die Ausgaben und Erwartungswerte sind in diesem Fall als prozentuale Tagesentwicklungen zu verstehen. Es wird damit unterstellt, dass eine Positionierung am Markt (Kauf/Verkauf oder Long/Short) mit Hilfe der Prognose zu einem Return am nachfolgenden Tag entsprechend der Tagesentwicklung führt. Profit Index (PI): Wenn alle Trends korrekt vorhergesagt werden, resultiert ein Wert von 1. Das Modell schwankt zwischen -1 (komplett falsch) und +1 (komplett richtig) in der Trendvorhersage. Wegstrecke (WS): Ein oft benutztes Beurteilungskriterium ist die sogenannte Wegstrecke als effizientes Auswahlkriterium bei Handelsmodellen. Sie gibt durch ihre mathematische Formulierung den prozentualen Anteil des Gesamtverlaufs der Zielreihe an, welche das Modell korrekt prognostiziert hat. Folglich wird der Anteil des Modells am maximal erreichbaren Gewinn dargestellt. Der maximal erreichbare Gewinn ist die Summe der absoluten Tagesentwicklungen. Signal ist +1 bei einem positiven und -1 bei einem negativen Vorzeichen des Ouputs. Das Modell wird reduziert auf die Summe der richtigen Positionierungen am Markt, die mathematisch durch ein gleiches Vorzeichen der tatsächlichen und prognostizierten Entwicklung gekennzeichnet sind. Unterscheidet sich das Signal von der tatsächlichen Entwicklung (-1*Entwicklung oder 1*-Entwicklung) führt dies immer zu einem negativen Summandenwert im Zähler. . Im Ergebnis wird ein korrekt arbeitendes System eine Wegstrecke von 1, ein immer falsch agierendes Modell von -1 besitzen. Ein Random - Walk - Modell hätte eine wahrscheinliche Ausgabe von 0. Modellumsetzung: Für den Einsatz im Modell wird eine parallele Nutzung der Wegstrecke, Theils Koeffizienten, Mean Square Erros und Korrelationskoeffizienten vorgeschlagen. Die Berechnungen werden systematisch während des Lernvorganges erfasst; getrennt nach Validierungs- (TestVal) und Trainingsdatenmenge (TestTr). Korrelationsanalysen Die Suche nach redundanten Informationen in den Eingabedaten gestaltat sich sehr einfach mit entsprechenden Korrelationsanalysen. Hierzu ist unter dem gleichnamigen Reiter die Analyse der Abhängigkeiten von normalisierten Indikatorwerten und auch der Signalmuster möglich. Die Auswertung erfolgt auf Basis eines Indikators zu einem anderen Indikator oder auch spezifisch von einem Indikator zu allen anderen bereits verwendeten Indikatoren des Netzes. Netzoptimierungen Die mehrfach angesprochenden Netzoptimierungstechniken wie Input Prunning, Weigth Prunning und Hidden-Merging sind im Modellprogramm aufgegriffen. Das Weight-Prunning konzentriert sich allein auf die Ausdünnung von Verbindungen, die nur wenig zur Netzeingabe der verbundenen Neuronen beitragen durch ihr geringes Verbindungsgewicht. Die Sortierung der Verbindungsgewichte erfolgt entsprechend der Verbindungsgewichte. Das Hidden-Merging zeigt die Korrelationen der Aktivierungen der Hidden-Neuronen untereinander. Die Analyse erfolgt komplett von jedem Hidden-Neuron zu jedem anderen Hidden-Neuron. Bei der Anwendung von Neuronalen Kursprognose-Netzen kann es zu typischen Problemen kommen. Eines der Probleme ist das sogenannte ‚Overfitting'. Dieses beschreibt den Tatbestand, dass Neuronale Kursprognose-Netze, insbesondere die komplexeren Modelle, dazu tendieren, das sogenannte „Rauschen" in den Inputdaten zu erlernen (‚fitting the noise'). Um dies zu vermeiden, können folgende Ansätze genutzt werden: Die Topologie des Netzes sollte so klein wie möglich sein, um die verrauschten Daten in den Trainingsdaten und Testdaten zu generalisieren. Mit wachsendem Komplexitätsgrad wächst die Fähigkeit des Netzes, die Testmuster auswendig zu lernen und auf Scheinfakten hereinzufallen. Die Stabilität der Prognosequalität ist über einen ausreichend großen Datenbereich zu testen, um nicht beim Einsatz des Systems am echten Modell zu scheitern. Systematischer Einsatz von Netzausdünnungstechniken wie Weight Prunning, Input Prunning und Hidden Merging. Wird die Netzausdünnung systematisch eingesetzt, führt dies zwangsläufig zu einem Wechselspiel zwischen Netzausdünnung und Training bis ein offensichtlicher Gleichgewichtszustand erreicht wird. Diese Methoden sind nicht integraler Bestandteil des Algorithmus, sondern kommen während Lernunterbrechnungsphasen zum Einsatz. Weight Prunning: Weight Prunning beurteilt die Relevanz eines Gewichtes neben der absoluten Höhe auch nach seiner Volatilität. Es fließt daher die strukturelle Stabilität des Gewichtes und damit der dahinterstehenden Informationen in die Relevanzbeurteilung mit ein. Das Verfahren erlaubt die Reaktivierung von Gewichten. Gewichte werden entfernt, indem sie auf 0 gesetzt werden, da dies innerhalb der Propagierungsfunktion zu einem 0 Summandenterm führt. Das Input Prunning zielt auf die Inputvariablen ab. Es werden damit grundsätzlich gleich mehrere Gewichte gekappt. Der Betrag jeder Inputzeitreihe wird mittels einer Sensitivitätsanalyse berechnet und in Form einer Ranking-Liste für alle Zeitreihen ausgegeben. Gezielt können, angefangen mit der unwichtigsten Einflussgröße, diese herausgenommen und ähnlich dem Weight Prunning später auch wieder aufgenommen werden. Hidden Merging beinhaltet die Korrelationsanalyse bzgl. des Outputs der Hidden- Neuronen und zielt auf die redundante Signalweitergabe der Hidden- Schicht ab. Das Verfahren wird allerdings erst nach einer stabilen Modellreife angewandt, da die Dimension der Hidden- Schicht in der Regel um einiges kleiner ist, als die der Input-Schicht. Hidden-Neuronen mit hochkorrelierter Ausgabe vereint man, da sie faktisch als Biaselement wirken. Die Neuronenanzahl in der Hidden-Ebene wird sukzessive verringert, ohne wichtige Informationen zu verschenken. Als Folge der Verwendung der Optimierungsverfahren wird die Zahl der Inputneuronen als Maximalmalbeschreibung vorgegeben. Außerdem ist es nicht erforderlich, die Frage nach einer geeigneten Topologie, d.h. Zahl, Anordnung und Verbindungsgefüge der Neuronen, zu beantworten. Ausgehend von einer Maximaltopologie (Hidden, Inputneuronen und deren Verbindungen) wird in Richtung der Modellverbesserung modifiziert. Die Anwendung der drei Grundverfahren erfolgt in der hier vorgestellten Reihenfolge. Als Folge wird eine generelle Reduktion der Freiheitsgerade innerhalb des Netzwerkes sowie eine Minderung der Anzahl der benötigten Trainingsdatensätze für das Netztraining erreicht. Problematisch bleibt aber die Wahl der Zeitpunkte für die Netzausdünnung. Eine mögliche Variante wäre eine Kreuzvalidierungsmethode der Trainings- und Validierungsdatensätze. Die Prüfung erfolgt auf Basis der errechneten Netzfehler. Abbildung: Ablaufsequenz zwischen Training und Optimierung Während der Trainingsphase haben sich folgende Methoden für die Netzwerkoptimierung als sehr nützlich erwiesen und sind entsprechend im praktischen Modell umgesetzt: Fortlaufende Messung und getrennte Darstellung des Gesamtfehlers für die Trainings- und Validierungsmenge Kontinuierliche Darstellung der Gewichte und Schwellwerte des Netzwerkes in Form eines Histogramms Ständige Berechnung wichtiger Koeffizienten im Rahmen der Teststrategien. Hier sind vor allem die Wegstrecke und der Korrelationskoeffizienten sehr hilfreich, da sie Aufschluss über die aktuelle Prognosequalität des Netzes geben. Netzwerkmodell/-struktur Im Programm kann mehr als ein Netz verwaltet werden. Hierzu sind die Netze mit den Aktionen Hinzufügen, Löschen und Editieren ausgestattet. Ist ein neues Netz erstellt, beginnt der Anwender mit der Basisstruktur eines Feedforward -Netzwerkes (0,6,3,1). Die Strukturfestlegung erfolgt über ein Texteingabefeld im unteren rechten Bildbereich. Durch Komma getrennt, wird die Anzahl der Neuronen in der chronologisch zugehörigen Schicht festgelegt. Theorie Der nachfolgende Text dient nur der theoretischen Darstellung. Diese muss für die Anwendung in Shareholder nicht nachvollzogen oder vollständig verstanden werden. Basis der Arbeit ist meine damalige Diplomarbeit gewesen. Die Texte sind entsprechend hieraus entnommen, aber teilweise gekürzt! Neuronale Netzwerke entstanden aus Versuchen, das Verhalten von lebenden Nervengeweben am Computer mit simulierten Neuronen und Synapsen (Nervenverbindungen) nachzuahmen. Das Ziel ist, die Art der Informationsverarbeitung und Beschlussfassung von Lebewesen zu modellieren. Neuronalnetzwerke existieren in einer Vielzahl von Architekturen. Die Architektur ist die besondere Art, in der die simulierten Neuronen untereinander verbunden sind, sowie ihr internes Verhalten, d.h. ihre spezifische Art der Signalverarbeitung, auch Transferfunktion genannt. Die künstlichen Neuro-Netze stellen stark schematisierte informationstechnische Modelle des Gehirns dar. Dessen Nervenzellen werden durch Speicherzellen (Neuronen) repräsentiert. In vager Anlehnung zu natürlichen kognitiven Prozessen besitzen NNs eine gewisse Lernfähigkeit und lassen die Abbildung nichtlinearer Beziehungen zu. Wegen dieser Eigenschaft auch chaotische oder fraktale Zeitreihen abzubilden und vorhersagen zu können, verkörpern Neuronale Kursprognose-Netze ein leistungsstarkes Werkzeug in der Hand des Anwenders. Das Neuronale Kursprognose-Netz wird dabei nicht programmiert, sondern mit den Vergangenheitsdaten trainiert. Während der Trainingsphase verändern sich die Neuronenverbindungen so lange, bis das NN die Zusammenhänge der Einflussfaktoren, deren Gewichtung sowie interne Strukturen der Zeitreihen über ein nichtlineares mathematische Gleichungssystem ziemlich genau nachvollziehen kann. Mit dem erworbenen Wissen ausgestattet sollte das Neuronale Kursprognose-Netz schließlich möglichst sicher prognostizieren, wie sich die weitere Kursentwicklung vollziehen wird. Im Gegensatz zu statistischen Methoden, welche „modellgetrieben" arbeiten, sind NN in der Lage die ihnen gestellten Aufgaben in einer eigenständigen Systemanalyse und - strukturierung zu realisieren. Sie arbeiten damit nicht auf Basis einer Modellvorgabe (Regeln, Fakten), sondern entwickeln sich „datengetrieben" ausgehend von einer großen Anzahl von Freiheitsgraden in Richtung einer zunehmenden Systemanpassung. Diese Lernfähigkeit und die Fähigkeit auch mit verrauschten Daten umgehen zu können, machen sie für den Anwendungsbereich der Finanzprognose interessant. Es sei hier nochmals hervorgehoben, dass Kapitalmärkte als komplexe Systeme, die durch eine hohe Anzahl von Einflussgrößen, Nichtlinearität in den Wechselwirkungen und hohen Rauschanteil der Daten, verstanden werden müssen. Mit Neuronalen Prognose-Netzen hat man ein Instrumentarium zur Hand, Systemstrukturen von Kapitalmärkten bei geschickter Modellierung abzubilden. Neuronale Kursprognose-Netze gehören zu den adaptiven Systemen innerhalb der Analyseverfahren, neben den genetischen Algorithmen und der Chaostheorie. Es erfolgt die Simulation von Lernprozessen am Markt. Sie leiten kontinuierlich und adaptiv aus den Daten der Vergangenheit ein Erklärungsmuster ab. Da dieses über einige Zeit annähernd konstant bleibt, können hierbei sogar Prognosewerte einfließen. Bestandteile Neuronaler Netze Zellen eines künstlichen Neuronalen Prognose-Netzwerkes sind stark idealisierte Neuronen. Sie bestehen in Anlehnung an das biologische Vorbild aus einem Zellkörper, den Dendriten (Aufsummierung der Netzeingaben) und einem Axon, welches die Ausgabe der Zellen nach außen verzweigt und mit den Dendriten anderen Neuronen in Verbindung steht über Synapsen. Diese Synapsen haben dabei hemmende oder verstärkende Wirkung. Programmiertechnisch werden die Synapsen als Verbindungsgewicht dargestellt. Idealisierter technischer (o.) / biologischer (u.) Aufbau eines Neurons Neuronale Kursprognose-Netze werden daher als informationsverarbeitende Systeme verstanden, die aus einer großen Anzahl von einfachen Einheiten (Neuronen) bestehen; die sich Informationen in Form von Zellaktivierungen über gerichtete Verbindungen zusenden. Zellen Die Zellen besitzen folgenden Bestandteile: Aktivierungszustand 'aj(t)', welcher den Aktivierungsgrad des Neurons beschreibt. Mögliche Ausprägungen: Diskret Binär {0,1}, {-1,1}, {+,-} Mehrwertig {-1,0,1} mit Z- ganzen Zahlen Kontinuierlich Intervalle [0,1],[-1,1] Unbeschränkt R (reelle Zahlen) Aktivierungsfunktion 'fact', womit die Berechnung eines neuen Aktivierungszustandes aj(t+1) festgelegt wird. Die Funktion hat als Parameter die alte Aktivierung aj(t), die Netzeingabe netj(t) sowie den Schwellwert, ab dem das Neuron überhaupt feuert. Allgemeiner: ai(t+1)= fact( ai(t), netj(t), qj ) In vielen Fällen haben die Zellen dabei kein „Gedächtnis", d.h. die neue Aktivierung aj(t+1) ist nicht abhängig von der alten Aktivierung aj(t). Die Aktivierungsfunktion beeinflusst dabei wesentlich die Performance und die Eigenschaften des Netzes. In der Regel wird zwischen folgenden Aktivierungsfunktionen unterschieden: Abbildung: Verlauf der Aktivierungsfunktionen Schwellwertfunktion, womit die Ausgabe abhängig ist von der Bedingung, ob die Gesamteingabe größer oder kleiner als ein Schwellwert ist. Sigmoide Funktion: Neuronen mit sigmoider Aktivierungsfunktion gehen nicht wie die Schwellwertfunktion plötzlich von Ruhe zu voller Aktivität über, wenn die Gesamteingabe die Schwelle überschreitet, sondern nur allmählich. Ebenso populär ist die Tangens Hyperbolicus Funktion. Die Funktion ist ebenso sigmoid, stetig, differenzierbar. Hat jedoch als Wertebereich -1 bis +1. Daneben gibt es auch die Lineare Funktion, Sinusfunktion usw. Diese spielen in der Praxis aber kaum eine Rolle oder können mathematisch aufgelöst werden (Lineare Funktionen). Bei der Klassifizierung der Aktivierungsfunktionen ist es zudem üblich zwischen einer deterministischen (fact wird eindeutig durch die Eingabe bestimmt) und einer stochastischen Aktivierungsfunktion (fact ist durch eine Zufallsverteilung abhängig von der Eingabe) zu unterscheiden. Die Aktivierungsfunktion nutzt im Normalfall einen Schwellwert (Bias). Dieser gibt an, ab welchem Punkt das Neuron überhaupt ihren Aktivierungszustand nach außen weiterleitet (feuert). Wird der Schwellwert nicht überschritten, ruht das Neuron (Ruhezustand). Die übliche Spezialisierung der allgemeinen Formel unter Berücksichtigung des Schwellwertes ergibt mathematisch: Vorüberlegungen für das Netz Mit den bereits festgelegten Zielen und Eingabedaten ist an dieser Stelle eine genauere Festlegung der Zellstruktur durchzuführen: Aktivierungszustand kann nur kontinuierlich mit einem Intervall von -1 und 1 definiert werden, da die stetigen Eingabesignale von den technischen Indikatoren verwendet werden sollten. Insbesondere die Signalmuster der Indikatoren, wie später noch zu zeigen ist, werden im Wertebereich von -1 bis 1 sein, da Werte <0 für „Verkaufen" und Werte >0 für „Kaufen" stehen. Aktivierungsfunktion muss auf Basis der Festlegung der Aktivierungszustände eine tangens hyperbolicus -Funktion sein, um diesen Wertebereich nutzen zu können. Neben dieser auch zu umgehenden Bedingung (Trennung der Kauf- und Verkaufssignale oder Normalisierung hinein in den Wertebereich von -1 bis 1) ist die Funktion tanh ebenso sigmoid, stetig, differenzierbar wie die logistische Aktivierungsfunktion. Der wichtige Unterschied liegt darin, dass mit dieser Funktion häufig das Lernen vereinfacht wird, weil auch bei Nichtaktivierung des Vorgängerneurons (Aktivierung von -1) das Gewicht zwischen zwei Neuronen verändert werden kann. Bei Verwendung der logistischen Funktion wird dies verhindert, da die Aktivierung mit 0 in die Formel eingeht. Die Praxis hat gezeigt, dass tanh -Aktivierungsfunktionen zu einem schnelleren Lernprozess entsprechend ausgelegter Netze führen. Schwellwerte werden direkt implementiert als Biaswert und nicht über ON- Neuronen. Für die praktische Umsetzung ist aus Testzwecken eine Manipulation sowohl der Aktivierungsfunktion wie auch Schwellwerte denkbar für jedes Neuron. Verbindungsnetzwerk Eine Neuronale Kursprognose kann erst entstehen, wenn die Neuronen untereinander über gewichtete Verbindungen verbunden sind. Diese Verbindungen sind dabei nicht nur gewichtet (hemmend oder verstärkend), sondern auch gerichtet. Somit lässt sich technisch eine Matrixschreibweise für die Darstellung der numerischen Verbindungsgewichte nutzen. Die Verbindungen werden vorwärtsgerichtet vom Neuron zum Neuron dargestellt. Die gesamte Matrix der Verbindungen der Zellen wird in der Literatur als Gewichtsmatrix W bezeichnet. Die Propagierungsfunktion netj(t), definiert die Netzeingabe für ein Neuron, womit die Ausgaben der anderen Neuronen und den Verbindungsgewichten berücksichtigt werden. Diese (Netzeingabe) berechnet sich im Normalfall als Summe der Ausgabe oi(t) der Vorgängerzellen multipliziert mit dem jeweiligen Gewicht wij der Verbindung der Zelle i nach der Zelle j. Lernregel Das Neuronale Kursprognose-Netz muss lernen, für eine vorgegebene Eingabe eine gewünschte Ausgabe zu produzieren. Hierzu wird ein Algorithmus benötigt, der dann als Lernregel verstanden werden kann. Lernen erfolgt oftmals durch Veränderung der Verbindungen (Gewichtswerte ändern, Gewichte hinzufügen und/oder löschen). Dabei wird versucht, den Fehler zwischen Erwartung und Ergebnis durch das Netz zu minimieren auf Basis von Trainingsmustern. Die Lernregeln sind programmiertechnisch das Komplexeste an einem NN und werden in einem eigenen Abschnitt behandelt. Netzwerkarchitektur In der Praxis besitzen die Verbindungen in einfachen Neuronalen Kursprognose-Netzen nur die Richtung von den Eingabeneuronen in Richtung der Ausgabeneuronen. Damit ist dann eine Klassifikation der Zellen anhand ihrer Position im Netzwerk möglich. Grob wird dabei fast immer zwischen der Eingabeschicht (Neuronen mit den Eingabedaten für das Netz zum Training oder Auswerten), Versteckten Schicht (hidden layer) und der Ausgabeschicht (output layer) unterschieden. Ein Netz wird dabei als n-stufig bezeichnet, wenn es n Schichten trainierbarer Verbindungen hat. Üblicherweise wird das Verbindungsnetzwerk der Zellen ähnlich der Verbindungsmatrix W in einer Matrixschreibweise dargestellt. In diesem Beispiel ist dabei eine Verbindung des 1.Neurons mit dem 2. und dem 3. Neuron durch ein X dargestellt. Die Verbindungsmatrix nennt die zugehörigen aktuellen Verbindungsgewichte. Interessant sind bei diesem Verbindungsnetzwerk nur die Gewichte w12 und w13, da zwischen den anderen Neuronen keine Verbindungen vorhanden sind. Dies zeigt, dass die Speicherung der Verbindungsmatrix aus Ressourcengründen selten komplett erfolgt. Wie später noch gezeigt wird, ist eine Beschränkung der Speicherung auf die tatsächlichen Verbindungen im Netzwerk und der zugehörigen Gewichte sinnvoller. Im Ergebnis gibt es keine globale Matrix, sondern nur Verkettungen von Neuronen (dynamische Liste). Eine Transformation in die eine oder andere Richtung ist möglich. Die Klassifikation der Netze kann nach den Verbindungen erfolgen und wird in der Hauptsache auf Basis der Rückkopplungen vorgenommen. Zunächst kann eine erste Einteilung dahingehend erfolgen, ob ein Netz Rückkopplungen besitzt oder nicht. Netze ohne Rückkopplungen werden dabei in der Fachwelt als feedforward -Netzwerke bezeichnet. Es existiert kein Pfad, der von einem Neuron direkt oder über zwischengeschaltete Neuronen wieder zu einem Neuron zurückführt. Netze mit Rückkopplungen oder auch Recurrente Netze (direkte, indirekte, innerhalb einer Schicht, vollständig verbundene Netzwerke) stehen auf der anderen Seite der Einordnung und haben durch die Rückverbindungen besondere Eigenschaften, die in Spezialanwendungen benötigt werden. Im Ergebnis steht aber immer eine hemmende oder verstärkende Wirkung und somit z.B. eine Aufmerksamkeitssteuerung bestimmter Bereiche (indirekte), Umsetzung einer „winner takes all-Netzes" (innerhalb einer Schicht) oder auch die Annahme von Grenzzuständen von Aktivierungen (direkte Rückkopplungen). Weitere mögliche Unterscheidungsmerkmale: Aktivierungsfunktion (sigmoide, lineare/ Schwellwert -Funktionen) Aktivierungszustände (binäre/analoge Eingabemuster) Verarbeitungsmodus (synchron/deterministisch, asynchron/stochastisch) Trainingsverfahren/Lernmethode Anzahl der Schichten (einlagig n=1, mehrlagig n>1) Ein einfaches vorwärtsgerichtetes ebenenweise verbundenes Netz ist hier grafisch dargestellt. Zu sehen ist neben der Aufbaumatrix auch die Darstellung des Netzwerkes mit seinen Neuronen und Verbindungen. Dabei sind Verbindungen in der Form Von,Zu zu verstehen. Auf der X-Achse sind dann die Ebenen abgebildet. Hier sind vier Ebenen (eine Input-. zwei versteckte- und eine Ausgabeschicht) mit drei trainierbaren Schichten abgebildet. Die Verbindungen sind ausschließlich vorwärtsgerichtet und ebenenweise. Man spricht damit hier von einem dreistufigen Feedforward- Netzwerk. Festlegungen der Topologie für die Kursprognose Für die weitere Vorgehensweise ist eine differenzierte Festlegung der zu verwendenden Topologie unter dem Gesichtspunkt des zu erreichenden Ziels notwendig. Die Aktivierungsfunktion und der Aktivierungszustand wurden bereits eingeschränkt zu sigmoiden tanh Funktion mit Aktivierungszuständen von -1 bis 1 für analoge Eingabemuster. Offen blieb bisher vor allem die Frage nach der Anzahl der Schichten und die Anzahl der enthaltenen Neuronen. Anzahl der Schichten Die Anzahl der Schichten und die Verbindungsstruktur ergibt sich aus praktischen Erfahrungen mit solchen Netzen und wird zunächst als dreioder zweistufiges Feedforward -Netzwerk mit je einer Input-/ Hidden-/ Output-Schicht festgelegt. Die Verbindung von mehr als 2 Hidden - Layer -Schichten ist wenig geeignet, da in der Praxis nur selten brauchbare Ergebnisse oder gar Verbesserungen erreicht wurden. Die Frage, ob nun ein drei- oder zweistufiges Netzwerk zu nutzen ist, stellt sich auch hier wieder sehr schnell. Es dreistufiges Neuronalnetz ist besser als ein dreischichtiges Netz, wenn es um die Verarbeitung von Daten geht, die in ungewöhnlichen Wechselwirkungen zueinander stehen, aus denen sich zunächst Abstraktionen in der 1 Hidden- Ebene gewinnen lassen, die weiter abstrahiert werden in der 2.Hidden Schicht. Die 2. Hidden -Schicht verkörpert damit dann Rückschlüsse, die das System im Hinblick auf die Zielgröße aus den Kombinationen dieser Merkmale zieht. Anzahl der Ausgabeneuronen In der Ausgabeschicht wird nur ein Neuron verwendet, welches dann in der Ausgabe auch bereits die Kursprognose als Prozentwert (->Differenzwert) zum Vortag gibt. Die gleichzeitige Verwendung von mehreren Ausgabeneuronen mit unterschiedlichen zeitlichen Prognosen wird ausgeschlossen, da davon auszugehen ist, dass ein Netz nicht gleichzeitig verschiedene Ausgaben wirklich optimieren kann. Das Netz versucht im Lernmodus den Gesamtfehler zu minimieren. Bei gleichzeitiger Verwendung von mehreren Prognosezeiträumen mit mehreren Ausgabeneuronen hat das zur Folge, dass das Netz auf einen Kompromiss trainiert wird. Bei Verwendung von Eingabedaten aus der Technischen Analyse ist die Optimierung der Parameter der Indikatoren nur für einen Zeitraum möglich. Bei gleichzeitiger Nutzung mehrerer Prognosezeiträume sind die Indikatoren dann nur suboptimal einzustellen. Anzahl der Inputneuronen Die Anzahl der Eingabeneuronen werden in der Praxis fast immer durch Experimente bestimmt. Eingabedaten für das Netz sollten zusätzliche Informationen liefern. Die sinnvollen Eingabedaten sind mit systematischen Tests auszusuchen. Die Korrelationsanalyse der Eingabedaten zu den Zielgrößen ist nicht befriedigend, da dieses Verfahren zunächst ein lineares ist. Eine Neuronale Kursprognose ist aber ein nicht-lineares Modell und die Verwendung innerhalb des Netzes und dessen Zusammenhänge bleiben dabei unberücksichtigt. Ein Netz das den Zusammenhang D=A-B darstellt, würde bei einer hohen Korrelation von A und B zunächst zu einer Eliminierung von A oder B führen. Zugleich wird dem Netz die Fähigkeit genommen, das Problem zu lösen. Die modifizierte Version der Korrelationsanalyse ist die Sensitivitätsanalyse. Diese bleibt ebenfalls suspekt und sollte nicht verwendet werden. Bei diesem Verfahren wird der Wert einer Inputvariablen geringfügig geändert und die Auswirkung auf den Systemoutput beobachtet. Die Anwendung bei linearen Modellen wäre unbedenklich, da die Bedeutung der Inputvariablen direkt von den Koeffizienten der Formel abhängen. Bei Neuronalen Prognose-Netzen kann dies zu ungewollten Ergebnissen führen. Ein Beispiel: Ein Netz modelliert ein Tages-Kursprognosesystem mit den Inputvariablen: Markstimmung der Teilnehmer und Kursentwicklung des Vortages an der NYSE . Der Zusammenhang der abgebildet werden soll, ist mit folgenden Formeln erklärt: Der Kurs des Folgetages ist die Summe aus dem Vortageskurs und der Stimmung. Die Sensitivitätsanalyse wird zeigen, dass mit Änderung der einen Inputvariablen „Stimmung" die Kurse nur sehr wenig verändert werden; die Inputvariable „Kursentwicklung an der NYSE" aber eine hohe Sensitivität zeigt. Die Auflösung der ersten Variablen wäre aber problematisch, sollte der Vortageskurs einen Verlust größer als 10% zeigen. Die Stimmung ist wie die Börsenpsychologie zeigt unter der Wirkung von Massenpsychosen und Herdentrieb eine Schwellwertfunktion. Es kommt plötzlich zu einem Crash, wenn die Anleger bei Kursrückgängen von mehr als -10 Prozent in Panik verfallen. Es setzt dann die Schwellwertfunktion um auf einen sofortigen Kursverlust von 20 Prozent (1-0.8). Die Zufallskomponente „Zufall" bleibt ungeachtet der anderen Funktionsparameter als Hintergrundrauschen der Funktion immer erhalten. Wie das Beispiel zeigt, würde die Sensitivitätsanalyse zu falschen Ergebnissen führen. Der definitive Entscheidungsfaktor ist letztendlich was und wie viel eine Variable zum Modell beiträgt. Hier können genetische Algorithmen verwendet werden, um systematisch Inputvariablen und zahlreiche Kombinationen zu testen. Details dieses Verfahren würden aber über diesen Kontext hinausgehen. Eine andere wirkungsvolle Methode ist die Identifizierung von schwachen Variablen in einem systematischen Test- und Eliminierungsprozess. Hierzu kann an einem trainierten Netz eine Variable vorübergehend entfernt werden und das Netz neu trainiert werden. Geht die Korrelation des Systemoutputs zur Zielgröße stark zurück, so wird diese Variable eine größere Rolle spielen. In diesem Eliminierungsprozess sollte systematisch in mehreren Iterationsschritten mit der eingesetzten Anzahl der Inputvariablen der Trainings- und Testfehler bestimmt werden. Diese lassen sich dann in einem Diagramm erfassen und der Ausdünnungsprozess kann gestoppt werden, wenn der Testfehler durch die eingesetzte Lähmung des Netzes zu steigen beginnt. Nicht unbeachtet bleiben sollte die nötige Datenmenge für den Trainingsprozess. Wird ein Modell genutzt, dass mehr Variablen als Datenreihen zur Verfügung hat, bezeichnet man dieses als unterbeschränkt. Es gibt damit nicht genug Daten, um alle Freiheitsgrade zu beschränken. Dies führt dazu, dass die Ausgabe des Systems instabil wird. Gibt es Koeffizienten, die frei zugeordnet werden können, werden bei gleichen Daten unterschiedliche Ergebnisse zurückgeliefert. Die Testdaten sollten im Minimum so groß sein wie die Freiheitsgrade, die zur Verfügung stehen. Die Freiheitsgrade im NN sind mit der Anzahl der Verbindungen im Netzwerk identisch. Da das Training von Neuronalen Kursprognose-Netzen ein Näherungsverfahren ist, wird ein Vielfaches der Datenmengen zum sinnvollen Training benötigt. Die genaue Festlegung ist nicht möglich. Unter Berücksichtigung der Freiheitsgrade sollte der Datenumfang an die Anzahl der vorhandenen Verbindungen geknüpft sein. Die Ausdehnung des erforderlichen Datenumfangs um den Koeffizienten „Faktor" erfolgt, um eine Stabilität des Netzes im Lernprozess zu erhalten. N bestimmt die Anzahl der Neuronen der Schicht. Die Unbekannte „Faktor" wird bestimmt durch den Rauschanteil und Qualität der Testdaten, dem verwendeten Lernverfahren und dem Anspruch der Test- und Optimierungsstrategien. Bei Kursprognoseproblemen mit dem Backpropagation- Algorithmus konnte der Autor einen optimalen Wert von 10 (für den „Faktor") erkennen. Anzahl der Hidden -Neuronen Die Anzahl der Hidden-Neuronen ist selten im Voraus genau festzulegen. Auf diesem Gebiet besteht eine große Unsicherheit und die Festlegung erfolgt fast immer auf Basis von einfachen Leitregeln und einigen Experimenten. Als Faustregel wird in Füser95 folgende Formel genutzt: Auch wenn es keine verbindliche Regel ist, gilt, dass die absolute Anzahl von verborgenen Neuronen eher gering sein sollte, wenn die Generalisierungsfähigkeit nicht aufgegeben werden soll. Hierunter versteht man die Eigenschaft, ein erworbenes Wissen sinnvoll zu verallgemeinern und analog daraus Rückschlüsse zu ziehen. Grundsätzlich gilt: Eine Neuronale Kursprognose kann nur generalisieren, wenn die neuen und bis dahin unbekannten Eingaben nicht zu sehr von den Beispielen abweichen, die das Netz in der Lernphase gesehen hat. Die Festlegung der Schichten und der Neuronenanzahl in diesen ist eine Frage der Komplexität, eine Frage der Statistik „der Freiheitsgrade" und wirkt sich im erheblichen Maße auf die Anforderungen der Datenmenge für den Lernprozess aus. Mit mehr Unbekannten wird ein Vielfaches der Trainingsdaten und Trainingszeit benötigt. Ein weiteres Ergebnis der Verbreiterung der Dimension des Netzes kann eine bessere Kurvenanpassung, sowie die Verschlechterung der Generalisierungsfähigkeit bedeuten. Am Anfang jedes Trainings versucht das Netz die Trainingsbeispiele zu speichern. Ist die mathematische Flexibilität einer Formel (Freiheitsgrade) unzureichend, werden Regeln gebildet. Das Netz beginnt zu generalisieren. Als Konsequenz sollte die Entwicklung auf simple Modelle mit wenigen ausgewählten Inputvariablen abzielen, da nur hier die Freiheitsgrade niedrig genug sind, um dem „Datenrauschen" auszuweichen. Lernprozess Die große Popularität von Netzen und auch deren teilweise mystisches Image, ist mit Sicherheit auf deren Lernfähigkeit zurückzuführen. In diesem Kontext heißt dies, das Netze aus Erfahrungen lernen, die sie durch präsentierte Trainingsdaten gewinnen. Eine Neuronale Kursprognose wird auf eine festgelegte oder konsistente Menge von Ausgaben trainiert. Hierzu formuliert man entsprechende Lernstrategien zur Anpassung der Gewichte. Im Lernvorgang wird dem Netz anhand von Trainingsdaten vermittelt, wie bestimmte Situationen zu bewerten sind. Aus diesen Erfahrungen leitet das Netz dann später die Reaktion auf unbekannte Situationen ab (Generalisierung). Die meisten Lernregeln erfordern einen Lehrer der festlegt, wie das Netz auf eine bestimmte Situation zu reagieren hat. Es wird dabei eine Bewertung des Ausgabemusters des angelegten Trainingsbeispieles vorgenommen. Dieses überwachte Lernen existiert in einer Art Nebenform mit dem bestärkenden Lernen, bei dem zu jedem Eingabemuster der Trainingsmenge nur eine Richtig/Falsch- Einschätzung vom Lehrer gegeben wird. Daneben existiert die Form des unüberwachten Lernens, bei dem das Netz selbstständig Regelmäßigkeiten in den Eingabedaten entdeckt und eine Unterteilung dieser in Klassen vornimmt. Ein Anwendungsbeispiel ist die Klassifikation von Daten (z.B. von Kunden in Bonitätsklassen). Die Kursprognose ist dabei mit dem überwachten Lernen (supervised learning) am besten zu lösen, da zu jedem Trainingsdatensatz durchgängig auch ein Zielwert (Lernwert) festgelegt werden kann. Dieses Verfahren erlaubt ein schnelles und zielgerichtetes Lernen. Das Lernen bzw. das Training bedeutet im Kontext der Neuronalen Kursprognose-Netze die problemadaptive Anpassung der Verbindungsgewichte anhand von vorgegebenen Datensätzen. Mathematisch betrachtet, bilden dazu Neuronale Kursprognose-Netze beim überwachten Lernen Eingabevektoren auf zugeordnete Ausgabevektoren ab. Die dazugehörige Transformationsformel wird dabei während des Lernvorganges berechnet. Da sich in den Gewichten das Wissen und das Verhalten NN auf unbekannte, d.h. nicht trainierte Eingabevektoren manifestiert, ist die Lernstrategie neben den verwendeten Trainingsdaten und deren Aufbereitung von zentraler Bedeutung für die Netzqualität. Eines der populärsten Lernalgorithmen für überwachtes Lernen stellt das Error - Backpropagation- Verfahren dar. Backpropagation - Algorithmus Backpropagation ist ein Gradientenabstiegsverfahren. Ziel des Lernverfahrens ist es, während der Trainingsphase diejenigen Gewichte zu generieren, mit Hilfe derer das Netz ein problemädaquates Verhalten aufweist. Das Gradientenverfahren ist die Methode des steilsten Abstiegs und versucht das globale Minimum des Gesamtfehlers zu finden. Nach der Präsentation der Trainingsbeispiele wird in jedem Iterationsschritt ermittelt, wie gut die tatsächliche mit der gewünschten Ausgabe übereinstimmt. Der berechnete Gesamtfehler des Netzes wird dabei herangezogen, um in seiner Abhängigkeit die Gewichte jeder Verbindung des Netzes für eine bessere Annäherung an das gewünschte Ergebnis zu adaptieren. Die notwendigen Rechenoperationen zur Bestimmung des Fehlers und zur Anpassung der Synopsengewichte nimmt der Error- Backpropagation- Algorithmus eigenständig vor. Als Wissensspeicher und Grundlage des Lernens muss daher die Anpassung der Gewichte im Netz verstanden werden und nicht die klassische (nicht)lineare funktionale Verknüpfung von mathematischen Thermen oder deren Umformung. Der Backpropagation Algorithmus arbeitet in zwei Phasen. In der ersten, der sogenannten Propagation -Phase, wird zunächst der Ausgabewert des NN für ein Trainingsdatensatz p errechnet. Hierbei werden die momentan gültigen Gewichtungsfaktoren berücksichtigt und das Ausgabesignal des Ausgabeneurons k bestimmt. Schichtenweise ist dazu in jedem Neuron mittels Eingabe, - Aktivierungs- und Ausgabefunktion die Aktivität des Neurons zu bestimmen und an nachfolgende Ebenen/Neuronen zu übermitteln. Die Aktivitäten vorheriger Neuronen werden als Eingangssignale nachfolgender verstanden. Am Ende der ersten Phase steht der Vergleich des berechneten Ausgangswertes opk mit dem gewünschten Zielwert tk. Die Differenz zwischen dem berechneten Ausgangswert opk und dem geforderten Zielwert tk wird an jedem Ausgabeneuron als Fehler des Netzwerkes für ein Trainingsmuster interpretiert. Diesen gilt es in der Trainingsphase zu minimieren. Ausgehend von dem Fehler werden die Gewichte in der zweiten Phase der Backpropagation Phase korrigiert, damit sich der Gesamtfehler systematisch verringert. Dazu berechnet man den Fehler jedes einzelnen Trainingsmusters p und versucht diesen einzeln zu minimieren. Differenziert werden muss zwischen: Gesamtfehler des Netzes für alle Trainingsmuster p über alle Output-Neuronen k Fehler eines Trainingsmusters p über alle Output-Neuronen k Fehler eines Trainingsmusters p an einem Output-Neuron k Für den Fehler eines Trainingsmusters p an einem Output-Neuron k gilt: Die Summe der Fehler über alle Output Neuronen k ergibt: Der Faktor ½ wurde aufgrund der Vereinfachung der Herleitung herangezogen, da dieser sich bei einer späteren Differenzierung gegen eine zwei wegkürzt. Zur Minimierung des Gesamtfehlers spielt dieser mathematische Trick keine Rolle. Der Gesamtfehler schließlich ergibt sich aus der Summe der Fehler der Trainingsmuster: Wenn man den Fehler eines Neuronalen Netzwerks als Funktion der Gewichte des Netzes graphisch darstellt, so erhält man eine Fehlerfläche. In dieser Fläche ist das Minimum zu finden. Ein mathematisches Verfahren um im mehrdimensionalen Raum zu minimieren ist das Gradientenabstiegsverfahren. Korrektur an den Ausgabe-Neuronen Betrachtet man ein Teilnetz, welches durch Backpropagation trainiert werden soll, so lassen sich in drei Schichten je ein Neuron Ai (Eingabeschicht), Aj (Versteckten Schicht), Ak (Ausgabeschicht) darstellen. Die Ausgaben der Neuronen für das Trainingsmuster p ergeben sich auf Basis der verwendeten internen Propagierungs-/Aktivierungs-und Ausgabefunktion für Ai an oi, für Aj an oj und für die Ausgabe des Netzes am Ausgabeneuron Ak mit ok. Die Gewichte zwischen den Neuronen sind indexorientiert zwischen Ai zu Aj mit wij angegeben. Die Netzeingabe des Ausgabeneurons Ak berechnet sich durch die Netzeingabe netk. Die Änderungsgröße für den Gewichtungsfaktor wjk, der zwischen dem Neuron j aus der vorgeschalteten Hidden- Ebene und einem nachgeschalteten Output-Neuron k liegt, wird bestimmt mit: opj ist der Ausgabewert des Neurons j mit dem Trainingsdatensatz p. Der Parameter h ist die Lernrate und bestimmt die Geschwindigkeit des Lernprozesses und liegt zwischen 0 und 1 (im Normalfall bei 0,7 und 0,9). dk ist der Fehlerwert der Ausgabeneuronen, der je nach Wahl der Aktivierungsfunktion gewählt werden muss. Allgemein gilt für d k, dass die Ableitung der genutzten Aktivierungsfunktion mit der Differenz der tatsächlichen Ausgabe opk mit der Zielausgabe tpk multipliziert wird. Die Ableitung der Aktivierungsfunktion bestimmt die endgültige Formel: Korrektur an den Hidden- Neuronen Da der Ausgangswert nicht direkt mit dem Zielwert verglichen werden kann, muss der Fehlerwert Ek der nachgeschalteten Neuronen k, die sich in der Output-Ebene befinden, zurückgerechnet werden: Fehlerwert: Es gilt: Der Wert opj ist der Ausgangswert des Neurons j der Hidden- Ebene und opi dessen Eingangswert. Der Wert opi ist somit der Ausgangswert eines vorhergehenden Neurons i der Input-Ebene. Es wird damit für jedes Trainingsmuster p der Ausgangswert opk an jedem Output-Neuron k des Neuronalen Netzwerkes berechnet, das Ergebnis mit dem Zielwert tpk verglichen und die Werte Dwij und Dwjk zur Korrektur der zugehörigen Gewichtungsfaktoren herangezogen: Die Trainingsphase des Backpropagation Netzwerkes lässt sich in vier Schritten darlegen: 1. Vergleich der Ausgaben der Output-Neuronen mit dem gewünschten Erregungsmuster nach Anlegen eines Inputdatensatzes 2. Berechnung der Summe der quadrierten Differenz zwischen Ausgabe und Zielwert über sämtliche Ausgabeknoten k (quadratische Fehlerfunktion vorrausgesetzt) 3. Veränderung der Gewichte aller Verbindungen zur Minimierung der Fehler 4. Wiederholung der Trainingsprozedur mit unterschiedlichen Inputdatensätzen bis das Netz eine Abbruchbedingung erfüllt (Qualität der Ausgabemuster, Quantität der Durchläufe usw.) Mathematisch bedeutet die Optimierung der Gewichtungsfaktoren die Lösung eines nicht-linearen Optimierungsproblems. Durch die Verwendung des Gradientenabstiegsverfahren wird, ausgehend vom aktuellen Fehler, die Richtung ermittelt, in der sich der Fehler am schnellsten verringert. Dies entspricht der Suche des Minimums in einem nicht-linearen Gleichungssystem. Das Gradientenabstiegsverfahren hat zur Folge, dass im Netz nur differenzierbare Aktivierungsfunktionen verwendet werden können. Die Schwellwertfunktion ist deshalb in Neuronen mit trainierbaren Verbindungen nicht verwendbar. Probleme und Lösungen des Lernverfahren Backpropagation Probleme bei diesem Lernverfahren entstehen durch die Verwendung des Gradientenabstiegsverfahren, da das Verfahren allein mit Kenntnis der lokalen Umgebung das Minimum über eine Fehlerfläche zu finden versucht. Symmertry Breaking Ein Problem ist das sogenannte Symmetry Breaking. Werden alle Gewichte jeder Ebene gleich groß gewählt, dann ist das Lernverfahren nicht mehr in der Lage die Gewichte der vorgelagerten Schichten unterschiedlich zu ändern. Dies liegt daran, dass die Fehlerrate dpj für alle Verbindungen einer Schicht gleich groß ist und die Gewichte symmetrisch verändert werden für die Verdeckte- und für die Ausgabeschicht. Diese durch die Initialisierung verursachte Symmetrie kann später nicht mehr gebrochen werden. Die Lösung ist hier logisch durch eine zufällige Initialisierung von kleinen Gewichtswerten möglich. Dies bewirkt außerdem, dass alle Zellen eine Netzeingabe von ~ Null haben. Dies führt bei Ableitung der logistischen Funktion zum größten Wert und die Adaption des Systems kann am schnellsten erfolgen. Ebenso sinnvoll ist die Festlegung der Initialisierungswerte durch : PICTURE Init.bmp Die Zahl der Verbindungen, die als Netzeingabe zum Neuron j führen, werden für die Initialisierung genutzt. Lokale Minima Lokale Minima stellen sich als Verfahrensproblem dar, d.h. dass Lernverfahren kann jederzeit in einem lokalen Minimum der Fehlerfläche absteigen und findet somit nur ein suboptimales Minimum. Mit wachsender Dimension des Netzes wird dieses Problem, durch die stärkere Zerklüftung der Fehlerfläche und der steigenden Wahrscheinlichkeit in einem lokalen Tal hängen zubleiben, größer. Eine allgemeingültige Lösung ist hier, bedingt durch das Gradientenabstiegsverfahren, nicht zu finden. Die Praxis hat aber deutlich gezeigt, dass bei der Wahl einer genügend kleinen Lernrate h oftmals doch die Lösung in der Nähe des globalen Minimums gefunden werden kann. Flache Plateaus Flache Plateaus führen durch das Gradientenabstiegsverfahren, welches die Gewichtsänderung auf Basis des Gradientenbeitrages bestimmt, zu einer Stagnation auf flachen Plateaus, d.h. die Anzahl der notwendigen Iterationsschritt wächst extrem. Eine Lösung dieses Problems ist die Verwendung eines Momentum-Terms. Oszillationen Oszillationen in steilen Schluchten der Fehlerfläche erfolgen, wenn der Gradient am Rande einer Schlucht so groß ist, das die Gewichtsänderung ein Sprung auf die gegenüberliegende Schlucht bewirkt. Ist die Schlucht auf der anderen Seite ebenso groß, beginnt eine Oszillation zwischen der linken und rechten Seite der Schlucht. Die Oszillation kann durch die Verwendung des Momentum-Terms gedämpft oder eliminiert werden Verlassen guter Minimas Verlassen guter Minimas kann bei sehr engen Tälern durch eines genügend großen Betrag des Gradienten verursacht werden, so dass von einem guten Minimum in ein suboptimales Minimum gesprungen wird. Die Erhöhung der Schrittweite und die Verwendung des Momentum-Terms führen zu diesem Problem und sollten daher nur behutsam eingesetzt werden. Optimierungen Schrittweite Die Wahl der Schrittweite (Lernfaktor h) ist entscheidend für das Verhalten des Lernalgorithmus. Es ist immer ein Kompromiss zwischen der Anzahl der notwendigen Iterationsschritte (Performance, Lernzeit) und dem sicheren Auffinden von Minimas. Auch Probleme wie Oszillationen können hervorgerufen oder vermieden werden. Eine allgemeine Lösung ist nicht möglich. Empfohlen wird mit kleiner werdenden Lernraten zu trainieren. Wahl des Dynamikbereiches Eine Änderung des Dynamikbereiches der logistischen Funktion von [0..1] zu [-1..1] basiert auf der Beobachtung, dass Ausgaben oi=0 zu keinen Gewichtsveränderungen führen, da durch die Multiplikation der Ausgaben mit den Gewichten innerhalb der Propagierungsfunktion zu Dwij =0 führen. Eine Lösung ist das Verschieben des Wertebereiches durch einen Schwellwert von -1/2 so dass: oj= log(netj)-1/2 zu einem Dynamikbereich von [-1/2...1/2] führt. Auch die Verwendung der Aktivierungsfunktion tanh führt zum gewünschten Ergebnis mit dem Wertebereich von [-1..1] . Fehlerfunktion Einen anderen Ansatzpunkt bildet die Fehlerfunktion, die durch eine nichtlineare Fehlerfunktion ersetzt werden kann, so dass auftretende Fehler überproportional bestraft werden. Die Differenz (tpj-opj) wird dann ersetzt durch die hyperbolischen Acrustangens Funktion mit atanh(tpj-opj). Allerdings strebt die Funktion in der Nähe von 1 gegen +¥ und bei -1 gegen -¥. Programmiertechnisch muss eine Begrenzung vorgenommen werden, um Überläufe zu verhindern. Vorgeschlagen wird die Einführung von Grenzwerten in der Form: Modifikationen von Backpropagation Momentum- Term Der auch als konjugierter Gradientenabstieg bezeichnete Backpropagation Lernalgorithmus mit Momentum- Term ist eine einfache Methode zur Vermeidung von Probleme der ursprünglichen Definition auf flachen Plateaus und in steilen Schluchten der Fehlerfunktion. Es wird hierbei ein Term Gewichtsveränderung berücksichtigt: eingeführt, der die vorherige Gewichtungsänderung bei der Berechnung der aktuellen (a ist im Normalfall zwischen [0.2..0.99] ) Dies bewirkt eine Beschleunigung in weiten Plateaus durch hohe Änderungsgrößen und ein Abbremsen in stark zerklüfteten Fehlerflächen. Weight Decay Die Idee bei dieser Modifikation ist es hohe Gewichte nicht zuzulassen, da diese biologisch unplausibel sind. Durch zu hohe Gewichte wird die Fehlerfläche zu sehr zerklüftet, wodurch Oszillationen und unkontrollierte Sprünge die Folge sind. Die Idee ist es hohe Gewichte zu bestrafen, indem die Gewichte als unerwünschte Zielausgabe in die Fehlerfunktion aufgenommen werden: Durch die erneute partielle Ableitung der Funktion nach wij ergibt sich als neue Gewichtsmodifikationsregel zur Minimierung der Gewichte: (d wird im Bereich von 0.005 bis 0.03 verwendet) Wird hier der Wert zu groß gewählt, führt dies zu permanent zu kleinen Werten. Die Bestrafung wächst zudem quadratisch gegenüber einer linearen Gewichtsänderung. Aus diesem Grund wurde der sogenannte Weigend- Pernalty- Term eingeführt, der natürliche Obergrenzen besitzt. nach Ableitung ergibt sich dann für die Gewichtsmodifikation: Lernregelmodifikationen ausgehend von Backpropagation Es gibt eine Reihe weiterer Verbesserungsmöglichkeiten auf Basis der Grundregeln und Prinzipien des Backpropagation- Algorithmus. Ansatzpunkte bilden hier insbesondere die Berechnung der Fehlersignale. So wird im sogenannten Manhattan-Training der Fehlerwert zwischen Ausgabe und Trainingserwartungswert nicht wertmäßig betrachtet, sondern allein hinsichtlich seines Vorzeichens (Signums). Aufgenommen wird diese Idee beispielsweise im SuperSAB- Lernalgorithmus. Hier wird eine eigene Schrittweite für jedes Gewicht eingeführt und im Trainingsverlauf kontinuierlich der Fehlerfläche angepasst. Sehr interessant erscheint auch ein anderer Ansatz, der sich für die Bestimmung der Fehlerfunktion in einem Feedforward- Netzwerk an das Newton-Verfahren anlehnt. Man setzt hier voraus, dass die Fehlerfunktion näherungsweise lokal quadratisch ist und somit mit einer nach oben offenen Parabel beschrieben werden kann. Aufgenommen sind die Ideen in dem sogenannten QuickPROP- Verfahren. Rprop Eine Kombination von Quickprop (Annahme: quadratische Fehlerfunktion), SuperSAB( eigene Schrittweite für jedes Gewicht), Manhattan Trainings (Normierung der Werte) stellt das sogenannte Resilient Propagation „Rprop" Verfahren dar. Da dieser Lernalgorithmus neben dem normalen Backpropagation -Verfahren implementiert werden soll, ist eine genauere Beschreibung notwendig: In dem Verfahren wird zwischen einer Gewichtsänderung Dij und der Netzgewichtsänderung Dwij unterschieden. Der Betrag der Änderungen ist nur von dem Vorzeichen der Steigungen abhängig und nicht von dessen Werten. Die Steigungen meinen dabei die Ableitung der Fehlerfunktion E(t) in Richtung des Gewichts wij zum Zeitpunkt t. Um die Darstellung zu vereinfachen wird das Produkt der vorherigen Steigung und der aktuellen Steigung als b dargestellt b=S(t-1)*S(t). Die eigentliche Netzgewichtsänderung definiert sich mit: wobei 0< h- < 1 < h+ Die eigentliche Netzgewichtsveränderung ist festgelegt mit : Entscheidend ist, ob die Vorzeichen der vorherigen und aktuellen Steigung übereinstimmen. Sind diese gleich, so ist die Netzgewichtänderung die Summe oder Differenz der Gewichtsänderung Dij. Sind die Vorzeichen unterschiedlich, so wurde ein Minimum übersprungen und die letzte Gewichtsänderung sollte rückgängig gemacht und die Steigung zum Zeitpunkt S(t) intern auf 0 zurückgesetzt werden. Im nächsten Iterationsschritt ist S(t-1)=0 und dadurch b=0. Es tritt anschließend bei der Netzgewichtsänderung der 4. Fall ein, bei dem das Vorzeichen der aktuellen Steigung berücksichtigt wird. Um Überläufe zu vermeiden, werden intern Schranken für die Netzgewichtsänderungen genutzt. In der Praxis werden oft Dmax=50 und Dmin=10-6 gesetzt. Um die Generalisierungsleistung des Netzes zu erhöhen, wird die Nutzung des Weight-Decay-Terms vorgeschlagen, um zu hohe Gewichte in den Verbindungen zu vermeiden. Das Lernverfahren ist im Softwaremodell implementiert. Trainingsdaten Festlegung der Eingabedaten Für die Prognose stehen nach bisherigen Ausführungen sehr unterschiedliche Eingabedaten zur Verfügung. So sind neben reinen Fundamentaldaten, technische Daten wie auch Intermarket- Analysen möglich. Die unterschiedliche Verfügbarkeit und zeitliche Wirksamkeit, im Sinne der Diskontierung der Daten durch den Markt, sind jedoch sehr differenziert. Hinzu kommt, dass es unwesentlich ist, warum der Markt etwas tut, sondern allein wie und wann er es tut. Genau diese Fragen werden auch über die Technische Analyse beantwortet. Alle Netz-Dateneingaben bauen daher auf Ergebnisse der Technischen Analyse auf. Bei der Festlegung der Eingaben ist eine regelbasierte Signalgebung oder auch die einfache Momentaufnahme möglich. Die Momentaufnahme meint die Weitergabe des nach der Normalisierung erhaltenen Wertes des verwendeten Technischen Indikators. Die regelbasierte Signalgebung ist die der praktischen Anwendung näherliegende Umsetzung, bei der spezifische Signale (Kaufen/Verkaufen) von einem Indikator generiert werden. Der eigentlichen Interpretation der Indikatoren trägt dies mehr Rechnung. Die Signalmuster sind regelbasiert festzustellen oder durch ein eigenes Neuronales Kursprognosenetz zu berechnen. Die Indikatoren sind exakt mathematisch beschrieben und interpretiert. Ein regelbasierter Ansatz mit Berechnung der Kauf-/Verkauf-Signale erscheint gegenüber dem neuronalen Prognosenetz überzeugender. Abbildung: Teil der Netzeingaben Technische Indikatoren sind vom Charakter her also signalorientiert. Dies impliziert, dass diese nicht zu jedem Zeitpunkt eine Aussage über die zukünftige Entwicklung geben können. Kauf-/Verkaufsentscheidungen sind nicht für jeden Tag ohne Modifikationen generiert. Die im Rahmen der Erstellung von Prognosen verwendete anfrageorientierte Anwendung ist somit ohne Veränderungen noch nicht möglich. Eine Trennung der Kauf- und Verkaufsignale als unterschiedliche Eingabequellen erscheint folgerichtig, da die Qualität eines Indikators hinsichtlich der Reentry- und Exit-Zeitpunkte sehr unterschiedlich sein kann. Die Zuordnung der Genauigkeit erfolgt dann durch das Neuronale Kursprognose-Netz. Im Modell „Shareholder" ist die Auftrennung als auch die Unabhängigkeit der Kauf- und Verkaufssignale umgesetzt. Technische Indikatoren sind vom Charakter her also signalorientiert. Dies impliziert, dass diese nicht zu jedem Zeitpunkt eine Aussage über die zukünftige Entwicklung geben können. Kauf-/Verkaufsentscheidungen sind nicht für jeden Tag ohne Modifikationen generiert. Die im Rahmen der Erstellung von Prognosen verwendete anfrageorientierte Anwendung ist somit ohne Veränderungen noch nicht möglich. Eine Trennung der Kauf- und Verkaufsignale als unterschiedliche Eingabequellen erscheint folgerichtig, da die Qualität eines Indikators hinsichtlich der Reentry- und Exit-Zeitpunkte sehr unterschiedlich sein kann. Die Zuordnung der Genauigkeit erfolgt dann durch das Neuronale Kursprognose-Netz. Im Modell „Shareholder" ist die Auftrennung als auch die Unabhängigkeit der Kauf- und Verkaufssignale umgesetzt. Kauf-/Verkaufssignale Dem Netz werden die Signalzeitpunkte unabhängig voneinander zur Verfügung gestellt und werden als binäre Zustände verarbeitet: -1: Verkaufen 0: Keine Entscheidung möglich 1: Kaufen Diese Art der Codierung zeigt ein Problem auf. Bei unveränderter Anwendung steht die Information nur einen Tag zur Verfügung. Am Folgetag ist keine Information über eine vorhergehende Entscheidung abrufbar. Es wird eine zusätzliche Zeit-Komponente eingeführt. Die Grundannahme ist, dass ein Signal für seine logische Anwendung eine „mittlere Verfallszeit" hat. Sie ist für jeden Indikator variabel und die Festsetzung basiert auf Erfahrungswerten. Für die Umsetzung bietet sich eine sigmoide Funktion mit dem Grenzwert 1 an. Die sigmoide Funktion, für die expotentiell abschwächende Signalgenerierung genutzt, wird nur in der Nähe des Zeitpunktes der Signalgenerierung t0 für die fast vollständige Aktivierung des Neurons führen. In der Nähe des Signalzeitpunktes ist die Signalintensität sehr stark und schwächt sich dann sehr schnell ab. Die Signalintensität Si(t) ist beschrieben mit: Beispiel: Wird eine Verfallszeit von 3 Tagen genutzt, ein Kaufsignal zum Zeitpunkt t0 und ein Verkaussignal zum Zeitpunkt t2 angelegt, so gilt für die Inputdaten: Das Kaufsignal liegt in den Inputdaten in abgeschwächter Form an drei weiteren Tagen von t0 beginnend an. Am vierten Tag geht das Signal unter. Bei einer Überschneidung zwischen Signalen gleicher Richtung (>0;<0) sind verschiedene Ansätze möglich. So ist die Verlängerung der Verfallszeit des neuen Signals, um die nicht abgelaufene Zeit des vorherigen Signals (t0=t) denkbar. Ein anderer Weg ist die Verwendung von aus der Physik bekannten Interferenzen. Hier werden die Signalwerte durch Addition (mit einer Grenzwertfunktion) überlagert. Dem Autor erscheint dieses Vorgehen weniger logisch, da kurz hintereinander generierte Signale sich addieren und zur einer Verstärkung des Ausgangssignals führen. Die Vorgehensweisen beziehen sich auf die Signalgenierungen der gleichen Art (Kaufen/Verkaufen). Werden Kauf- und Verkaufssignale parallel genutzt, wird die Addition der Signalmuster vorgeschlagen. Wie im Schaubild zu sehen, überlagern sich zum Zeitpunkt t2 Kauf- und Verkaufssignale. Ein kürzlich aufgetretenes Verkaufsignal wird durch ein länger zurückliegendes Kaufssignal (innerhalb der Verfallszeit) überlagert. Im Klassenmodell ist die Signalgenerierung der TISignalinidkator-Klasse zugeordnet. Die Verfallszeit wird als Attribut aufgenommen und in der Methode CreateSignalmuster umgesetzt. Zonenbetrachtung Bei theoretischer Betrachtung kann neben der Verwendung von Signalen und den Indikatorenwerten in Reinform auch eine Mischform betrachtet werden. So sind beispielsweise in der „Zonenlage" der Ergebniswerte eines Indikators zusätzliche Informationen enthalten. Einige Indikatoren bewegen sich innerhalb eines festgelegten Wertebereiches in denen Zonen gebildet werden können. Problematisch ist die geeignete Findung der Zonen. Ungeachtet des Algorithmus ist jede Zone als eigenes Eingabeneuron zu verwirklichen; Es werden vom Autor maximal drei Zonen vorgeschlagen. Die mittlere Zone kann in der Standardinterpretation von Indikatoren, als „Niemandsland" betrachtet werden. Eine Variante wäre die mathematische Zonenbildung durch Aufteilung in drei gleich große Teile des Wertebereiches. Die Zuordnung ist regelbasiert exklusiv; eine Mehrfachaktivierung wird vermieden. Die Netzeingabe der nachfolgenden Neuronen vergrößert sich bei zulässigen Mehrfachaktivierungen der Zonenneuronen durch die Art der Propagierung (Summe der Netzeingaben). Neben der gleichmäßigen Verteilung kann auch eine auf Basis der Standardabweichung festgelegten Normalverteilung genutzt werden. Man versucht bewusst, nur Extrema in den oberen Zonen zu erfassen, indem die Wahrscheinlichkeit für den Wert eines Indikators innerhalb einer standardisierten Normalverteilung die Zonen-Zuordnung festlegt. Im der Praxis kann jedoch fast nie eine Normalverteilung bei den Indikatorenwerten unterstellt werden und die Idee muss transformiert werden in eine die Grundidee aufgreifende Methode. Grundidee ist die mittlere Zone für Werte, die im „Standardbereich" liegen zu verwenden; also Werte, die mit hoher Wahrscheinlichkeit auftreten. Unter Nutzung der Standardabweichung und des Durchschnittes lassen sich die Zonen ebenfalls festlegen. Der „Standardbereich" ist mathematisch der um die Standardabweichung erhöhte und verringerte Durchschnitt. In der Praxis funktioniert diese Methode nach Einschätzung des Autors hervorragend. Da die Zone2 durch einen oberen Grenzbereich und einen unteren Grenzbereich beschrieben wird, werden dies als SBu und SBo erfasst. Divergenzanalyse Ein noch nicht angesprochener Ansatz ist die Divergenzanalyse. Hier wird geprüft, ob neue lokale Extremas (Hoch,Tiefs) des Indikators mit denen im Kursverlauf einhergehen. Ist dies nicht der Fall, wird von einer Divergenz gesprochen und stellt so oftmals bereits frühzeitige Signale zum Eingehen einer entgegensetzten Position dar. Die Divergenzanalyse kann nicht bei allen Indikatoren gleich eingesetzt werden, da diese sehr unterschiedliche Ansätze verfolgen. Eine allgemeine Erklärung hierfür ist nicht ohne weiteres möglich und kann aber unter Florek99 nachgelesen werden. Elementar für diese Analyseform ist die Bestimmung der Hoch und Tiefs in den Kurs- und Indikatordaten. Als Parameter muss die Ausdehnung des betrachteten Zeitausschnittes (Zeitframes) festgelegt werden. Als Prinzip gilt, dass eine Divergenz auftritt, wenn ein neues Hoch (HighZeitframe>HighZeitframe-1) in den Indikatorendaten (Sgn(Indikator)=1) nicht durch ein neues Hoch in den Kursdaten bestätigt werden kann (Sgn(Kurs)=1). Für die Tiefs entsprechend umgekehrt. Auswahl der Eingabedaten Da nicht alle Indikatoren im neuronalen Kursprognose-Netz als Inputdaten verwendet werden sollten, ist eine Vorauswahl auf theoretischer Basis sinnvoll. Es gibt eine Reihe von möglichen Indikatoren. Alle Indikatoren zeigen spezifische Eigenschaften hinsichtlich der Deutlichkeit der Verlaufsmuster und dem Grad der notwendigen Interpretation auf. Die Fehlersignale eines Indikators müssen aufgrund der zugrundeliegenden Marktphase bewertet werden. Nicht in allen Marktphasen werden mit einem Indikator gleich gute Ergebnisse erzielt. Auch ist eine unterschiedliche Qualität bei den Kauf- und Verkaufssignalen zu beobachten. Bei vielen Indikatoren fehlen Möglichkeiten von trendkonformen Signalen; d.h. in starken Aufwärtstrendphasen werden keine erneuten Wiedereinstiegssignale in Korrekturphasen geliefert. Wichtig ist die Parametereinstellung eines Indikators. Wird ein kurzfristige Aussage eines Indikators erwartet, müssen auch deren zeitabhängige Parameter entsprechend auf kleine Werte eingestellt werden. Die Wahl der Parameter sind Erfahrungswerte. Welche Indikatoren nun für das Neuronale Kursprognose-Netz verwendet werden, sollte allerdings keine Zufallsentscheidung sein und sich an der Häufigkeit der Signalgenerierung und der erfahrungsgemäßen Treffsicherheit der Indikatoren orientieren. Als Eingabe werden Clustergruppen vorgeschlagen, entsprechend der Ausrichtung eines Indikators. Die Clustergruppen bestehen aus einer gleichen Anzahl von Indikatoren. Dies ist mit der hohen Korrelation der Indikatoren innerhalb einer Indikatorenfamilien (Cluster) begründet. Die genaue Beschreibung der Indikatoren kann in der Programmplattform „Shareholder" über die Kontexthilfe abgerufen oder in folgender Literatur nachgeschlagen werden: MüllNiet99, Murph99, Florek99, Mag98. In der Programmhilfe finden sich Angaben zur Berechnungsvorschrift, Interpretation und der Pro & Kontro- Elemente für den Indikator. Auf eine differenziertere Darstellung wird zugunsten des Online-Systems verzichtet. Im Ergebnis steht folgende Eingabematrix: Die Datenvorbereitung besteht aus den möglichen Methoden: Indikatorenberechnung Normalisierung Musterkennung Zonenbildung Divergenzanalyse Die Ergebnisse werden nach den Vorbereitungen als Zeitsignale oder normalisierte Werte weitergegeben. Die Zonenbildung, Mustererkennung und die Divergenzanalyse erfolgt anschließend. Literaturverweise Quick-Guide NN - Nutzung Vorbereitung Prüfen Sie ob Sie die aktuellste Programmversion verwenden. Die Nutzung ist nur in der Profiversion möglich. Siehe auch: Verwendung der aktuellsten Programmversion Schritte für die Nutzung Nachfolgend die Minimalschritte zur Nutzung der NN für die Tageskursprognose. Für weitere Informationen Siehe: Neuronale Netze Setup Wählen Sie über Eingabeneuronen die passenden Indikatoren und Auswertungs-Schemen d.h. Aktivierungsgrade, Zonen etc. für das Neuronale Netz aus. Sie legen damit die Eingabewerte fest, die für das NN genutzt werden können, um über Schwellwerte und spezifische Synapsen Dämpfung oder Verstärkung zum Zielwert der Ergebnisprognose verwendet werden können. Datenvorverarbeitung Erzeugen Sie Trainingsdaten und zugehörige Validierungsdaten für das spätere Training. Wählen Sie hierzu unter Datenbasis die zu verwendende Märkte aus. Sie erhalten dann rechts bereits eine Prognose über die Quantitative Güte der Auswahl. Sie benötigen hier schlicht eine ausreichende Menge an Kursdaten für das Training, um auf sinnvolle Ergebnisse zu kommen. Starten Sie den Vorgang über Eingabedaten berechnen. Nach Start sehen Sie eine fortlaufende Fortschrittsanzeige mit roten Hervorhebungen und unten in der Fortschrittsanzeige den Gesamtfortschritt. In dieser Phase werden die Ergebnisdaten ins Dateisystem unter \Daten\NN geschrieben. Ohne diese Datenvorverarbeitung lässt sich das Training nicht starten und so das NN nicht nutzen. Der Vorgang sollte mit abgeschlossen werden. Training 1. Wählen Sie wenn nicht bereits erfolgt den Modus "Trainieren" 2. Starten Sie das Training über "Training-Start|Stop". Wenn Sie den Vorgang abbrechen wollen, müssen Sie damit den selben Button nochmals drücken Anwendung Da ich auf ALLE Feinheiten jetzt verzichte in der Darstellung und der weiteren Optimierung, kann jetzt praktisch schon das NN genutzt werden. Wählen Sie in einer Watchliste oder Marktliste den Button "Kursprognose". Sie erhalten dann nach Auswahl des zu verwenden Netzes die Kursprognosen für die Titel in der gleichnamigen Spalte. In der Auswertungsspalte erhalten Sie zusätzlich die Detailinformationen für Korrelationswerte etc. Siehe Neuronale Netze Filtersystem Zielsetzung Der Filter in Shareholder ist ein Filtersystem, dass die Eingrenzung von Werten auf Basis von Kriterien erlaubt. Als Kriterien sind alle Stammdaten & Technische-Indikatoren in beliebigen Kombinationen umsetzbar. Die Ergebnisliste wird in speziellen Beobachtungslisten zur weiteren Bearbeitung gespeichert. Die Filter sollen somit die Screening und das Scannen von interessanten Titeln am Markt unterstützen. Eine Kauf/Verkaufsentscheidung muss aber vom Anleger selbst getroffen werden. Zusammenspiel mit Handelssystem Der Filter wird dabei bewertet anhand eines Handelssystems, was eine Beurteilung eines Filtersystems ja erst zulässt. Ein definierter Filterbaum wird dabei im historischen Kurskontext auf seine Zuverlässigkeit und seine Performance geprüft. Die Kriterien des Handelssystem z.B. wann Titel der Ergebnisliste eines Filter tatsächlich gekauft werden und wieder verkauft werden, werden zusammen mit einem Filter definiert.Durch die Bewertung eines Filtersystems ist auch deren zukünftige Optimierung mittels Genetischen Algorithmen möglich. Die notwendige Vorraussetzung der Bewertbarkeit einer "Population/Individium" ist durch die Verwendung des Handelssystems gegeben. Aufbereitung und Nutzung Die Darstellung und Nutzung der eingerichteten Filter findet sich unter dem Hauptreiter "Filter". Um einen Filter zu starten müssen folgende Schritte gemacht werden: 1. Selektion des gewünschten Filters in der Toolbar oben 2. Entscheidung ob die Ergebnisse des Filters als gleichnamige *Watchliste abgespeichert werden sollen. Ein Häkchen in der Toolbar hierfür ist ausreichend 3. Start mit Button "Starten" Nach Auswahl erfolgt die Berechnung und Darstellung der gefundenen Werte im unteren Bereich. Zur Verbesserung der Übersicht wird auch immer der zugehörige Funktionsbaum dargestellt. Änderungen am Filter können jederzeit über Aufruf der Filter-Einstellungs-Masken mit der Funktionstaste <F12> oder übers Hauptmenü Analyse/Filter-System aufgerufen werden. Nach der Berechnung der Signale/Filter werden alle gefundenen Werte gelistet und mit folgenden Werten dargestellt: Bezeichnung/WKN/Zeit/Candle/Kurs/Stops Ranking (Bewertungsfunktion im DynFilter) Die Darstellung erfolgt in 3 Abschnitten 1. Logausgaben 2. Filter bzw. den Bedingungsbaum 3. Filterergebnisse Jedes der Elemente kann durch Doppelklick auf die Titelleiste ein-und ausgeblendet werden. Hier im Beispiel sind die Logausgaben ausgeblendet. Loglevel Grundsätzlich werden alle Logausgaben in einer Logdatei mitgeschrieben. Diese kann jederzeit über die Toolbar mit "Logdatei öffnen" geöffnet werden. Parallel steht direkt im Frontend ein Live-Log zur Verfügung der während der Bearbeitung eines Filters alle Ausgaben anzeigt. Welchen Detailgrad die Ausgaben haben wird über den Log-Level in der Toolbar festgelegt. Ausgangsüberlegungen Ein Filter setzt sich aus den Bedingungen und den in einer Bedingung genutzten Vergleichswerten inkl.- Funktionen zusammen. Jede Einzelbedingung muss jedoch immer ein Wahrheitswert ergeben, d.h. Aussagen von wahr oder falsch ergeben. In einem Bedingungsbaum können die Einzelbedingungen mit UND, ODER, UND NICHT, Exklusives ODER (genau eine der Aussage muss wahr sein) verknüpft werden. Als Suchbasis dienen alle verfügbaren Papiere. Das Filtersystem zeigt sich somit komplett unabhängig von vorherigen Filterkriterien z.B. von Watchlisten oder Markteinstellungen und zwingt somit den User jedes verwendete Kriterien zu definieren und genau darüber nachzudenken. Allgemeine Voraussetzungen: Das System soll den Semiprofessionalen Anleger bei der Anlageentscheidung unterstützen. Der Erfolg des Systems setzt eine Diziplin des Anwenders voraus insb. bei der Ausführung von Verkaufsorders, da sonst das System nicht nachvollziehbar validierbar ist. Weitere Ausgangsvoraussetzungen für die Nutzung in einem Handelssystem Die Strategie baut auf eine Form des Performancetradings auf, d.h. Ziel ist es unter Abzug von Transaktionskosten und Slippageverlusten einen maximalen Gewinn zu erzielen . Es können, da hauptsächlich am Europäischen Markt gehandelt werden soll, nur Longpositionen eingegangen werden. Shortpositionen werden nicht berücksichtigt bzw. berechnet. Nach der Erzeugung eines Kaufsignals durch das Handelssystem ist die Position als Wahlentscheidung zwischen: Eingehen der Position auf Basis der Schlußauktion (Close der gleichen Periode) Eingehen der Position auf Basis des Eröffnungskurses des nächsten Tages (Open) Eingehen der Positon auf Basis des Anfangshandels, wenn das Signal bestätigt wird, d.h. der Eröffnungskurs liegt über dem Schlußkurs des Vortages. Die Realisierung kann mittels Stop-Buy begrenzt auf den entsprechenden Handelstag erfolgen. Die Realisierung des Handelssystems setzt kein Vollzeitaktivität des Anwenders voraus, verlangt aber eine Prüfung der Stopkurse (Trailing-Stops) auf noch nicht geschlossene Systeme kurz vor bzw. nach Handelsende (je nach Basis: Open/Close) Ein Engagement des Anlegers darf nur erfolgen, wenn Möglichkeiten zum Verkauf auf Tagesbasis gegeben sind, d.h. im Urlaub sollten keine Positionen ohne gesetztem Stop eingegangen werden. Hoffnungsansätze sind verboten, d.h. das System muss Anwendung finden (können). Außerhalb dieser Überlegung gibt es bereits ein Produkt das diese Teilmenge der Problematik bereits sehr gut löst, allerdings sehr stark im professionalen Segment (Preissegment) angesiedelt ist. Hier können über das bisher vorgeschlagene Konzept hinaus auch gezielt Future Trades, Put/Call-Scheine und Short-Positionen berücksichtigt werden. Die Kursdatenversorgung kann zudem mit fast allen gängigen Kursanbietern erfolgen. Warum soll ein neues System bereitgestellt werden, wenn es bereits ein Produkt gibt, was die Anforderungen weitgehend erfüllen kann? Zum einen ist hier die Preispolitik ein entscheidener Faktor. Ebenso sind insb. die Candlestickformationen und eine Reihe von Indikatoren nicht im entsprechenden Maße abgedeckt, wie ich es mir vorstelle; ebenso wie eine Reihe von Unternehmensdaten. Dies ist jedoch meine subjektive Meinung, da es durchaus für einige Anleger entsprechend Gegenargumente geben kann. Arbeitsschritte Die Bearbeitung von Filtern erfolgt unter Analyse / Filter-System. Der Shortcut hierzu ist <F12>. Alle folgenden Hinweise beziehen sich auf die Masken. Anlegen eines Filters In Shareholder können beliebig viele Filter angelegt werden. Um einen neuen Filter anzulegen, muss mit dem Button "Hinzufügen" ein neuer Grundeintrag erzeugt werden. Es wird dabei automatisch die Frage gestellt, ob die Bedingungen aus dem aktuell selektierten Knoten übernommen werden sollen. Damit lassen sich dann leicht auch Kopien anfertigen. Bearbeiten der Bedingungen eines Filters (Bedingungsbaum) Jeder Filter besitzt einen Entscheidungsbaum, der alle Bedingungen in Beziehung zueinander setzt. Dabei sind als Verknüpfungstypen grundsätzlich UND ODER NOT (darf nicht) XOR (Exklusives ODER und somit muss genau 1 Werte wahr sein) erlaubt. Der Bedingungsbaum verknüpft damit logisch Einzelbedingungen miteinander. Dies erfolgt in einer Baumansicht. So wird semantisch immer eine Verknüpfungstyp wie "UND" / "ODER" als Vater definiert und darunter die zu verknüpfenden Bedingungen z.B. AND 1. Bedingung 2. Bedingung n. Bedingung Die grundsätzliche Verarbeitung erfolgt dabei von oben nach unten. Die Reihenfolge ist damit entscheidend für die Verarbeitungsgeschwindigkeit eines Filters. Die Reihenfolge wird deshalb automatisch mit jedem vollständigen Suchvorgang optimiert anhand der statistischen Wahrscheinlichkeit P . Dabei gilt, dass Bedingungen mit hoher Ausfallwahrscheinlichkeit an den Anfang eines Zweiges gesetzt werden bei UND - Bedingungen, bei OR entsprechend die Bedingungen die eine hohe Trefferwahrscheinlichkeit haben. Somit erfolgt die Präferenzbildung immer auf Basis einer möglichst schnellen Abwicklung des Zweiges festgelegt durch den Verknüpfungstyp . Da jeder Filter durchaus mehere Ergebniswerte zurückliefern kann, wird bei jedem Filter eine Rankingfunktion gesetzt, die die Sortierung der Ergebnisse erlaubt. Sie wird damit zu einer Bewertungsfunktion und führt zu einem Ranking innerhalb der Liste. Es kann pro Filter dabei immer nur eine Rankingfunktion geben. Müssen zwei verschiedene Funktionswerte genutzt werden, so muss ein mathematischer sinnvoller Ausdruck gefunden werden, der beide verknüpft. Bedeutung hat dies entweder innerhalb einer persönlichen Rankingfunktion (manuellen) aber auch einer objektiven bei der Nutzung innerhalb eines Handelssystems. Hier werden die Positionen in der Ranking-Reihenfolge eingegangen, solange ausreichend Handelskapital zum Entscheidungstag zur Verfügung steht entsprechend den Einstellungen für die max. Kapitalsumme pro Position. Als Beispiel: 1. 1. Position entsprechend 1. Rankingposition mit 40% Kapitalsumme 2. 2. Position entsprechend 2. Rankingposition mit 40% Kapitalsumme 3. 3. Position wird nicht mehr eingegangen, da die Mindestanalagesumme nicht mehr zum Handelstag zur Verfügung steht. Anlegen und Editieren einer Bedingung Das Editieren einer Einzelbedingung erfolgt ausgehend vom Entscheidungsbaum im Editor "Einzelbedingung". Dieser arbeitet mit einer Autosuchfunktion, womit der User beliebige Variablen oder Funktionen eintippen kann und das System zeigt noch alle passenden Werte in einer Baumstruktur (Funktion) bzw. Listenansicht (Variablen) an. Die Validierung und Prüfung der Gültigkeit der aktuellen Eingabe wird fortwährend vom System vorgenommen. Grundsätzlich unterscheidet das System praktisch nur zwischen Mathematischen Ausdrücken und Patterns. Patterns meinen dabei beliebige Zeichenkettenvergleiche verbunden mit Oder | und Und & Vergleichen z.B. Markt='Ne*'|Markt='Nasdaq*'. Erlaubt eine Funktion Parameter, so werden diese in einem seperaten Fenster abgefragt und dann als Ausdruck im Editor hinterlegt/angezeigt. Die Einzelbedingungen werden vom System automatisch optimiert in ihrer Reihenfolge hinterlegt bei jeder Nutzung des Filters, d.h. Aussschlusskriterien mit hoher Wahrscheinlichkeit bei den bisherigen Prüfungen werden zuerst berücksichtigt, so d. alle nachfolgenden Berechnungen/Prüfungen nicht mehr notwendig werden. Eine Einzeloptimierung der Parameter von Funktionen insb. der Technischen Indikatoren ist vorgesehen, jedoch noch nicht realisiert, da hierzu das Handelssystem erst fertiggestellt und optimiert werden muss. Bedingungen sind entweder in mathematischer Form oder als Pattern zu formulieren. Hierbei entscheidet das Programm automatisch, wann welche Form genutzt wird, anhand der bisher genutzten Ausdrücke, Funktionen oder Variablen. Verwendbare Filterkriterien bzw. Funktionen Datenfelder und Kennzahlen Weitere Details Aktienstammdaten / Unternehmens-Stammdaten und Unternehmens-Kennzahlen siehe Reguläre Expressions für Text-Stammdaten wie Notizen, Name, Markt etc. Technische Indikatoren und dessen Kauf-Verkaufssignale siehe Indikatoren-Funktionen in Filtern nutzen Mathematische und Logische Basisfunktionen Alle in Shareholder bekannten Kennzahlen sind auch im Filter nutzbar. KGV(Basisjahr) : Kurs Gewinn Verhältnis des Basisjahres (1-nächste,0-aktuelle) KBV : Kurs Buchverhältnis KCV : Kurs Cashflow - Verhältnis UMK : Umsatz Kursverhältnis Buchwert Cashflow Aktienstueckzahl Umsatz Gewinn(Basisjahr) : Gewinn des Basisjahres (1-nächste,0-aktuelle) Dividende(Basisjahr): Dividende des Basisjahres (1-nächste,0-aktuelle)e PEG(Basisjahr) : Gewinnwachstum des Basisjahres (1-nächste,0-aktuelle) DivR: Dividendenrendite Einige mathematische und logische Basisfunktionen: SQR(x) Quadrat X SIN(x) Die Funktion Sin berechnet den Sinus eines Winkels. COS(x) Die Funktion Cos berechnet den Cosinus eines Winkels im Bogenmaß ATAN(x) Die Funktion ArcTan berechnet den Arcustangens einer bestimmten Zahl. SINH(x) Die Funktion ArcSin berechnet den inversen Sinus einer bestimmten Zahl. COSH(x) ArcCos berechnet den inversen Cosinus einer bestimmten Zahl. COTAN(x) Die Funktion Cotan berechnet den Cotangens eines Winkels (Intern wird 1 / Tan(X) gerechnet) TAN(x) Tan berechnet den Tangens von X. EXP(x) Die Funktion Exp gibt die Potenz von X zurück. LN(x) Die Funktion Ln gibt den natürlichen Logarithmus eines Real-Ausdrucks zurück (Ln(e) = 1) LOG(x) Logarithmus zur Basis 10 SQRT(x) Wurzel x ABS(x) Die Funktion Abs gibt einen absoluten Wert zurück. SIGN(x) Vorzeichen (-1,1,0) TRUNC(x) Abschneiden der Nachkommastellen CEIL(x) Ceil rundet den Wert einer Variablen auf z.B. Ceil(-2.8) = -2; Ceil(2.8) = 3; Ceil(-1.0) = -1 FLOOR(x) Floor rundet Variablen ab z.B. Floor(-2.8) = -3; Floor(2.8) = 2; Floor(-1.0) = -1 RND() Die Funktion Random erzeugt eine Zufallszahl innerhalb eines bestimmten Bereichs. RANDOM() Initlisierung für die Nutzung von Zufallszahlen INTPOW(x,y) IntPower errechnet die Potenz aus einer Basis. POW(x,y) Power errechnet aus der Basis Base und dem beliebigen Wert Exponent die Potenz. LOGN(x,y) LogN berechnet den Logarithmus X zur angegebenen Basis. MIN(x,y) Minium von X, Y MAX(x,y) Maximum von X,Y IF(A,B,C) Wenn A>0 dann B sonst C Kursdaten Es gibt für den Zugriff auf Kursdaten zwei relevante Funktionen: Intraday(<baiswert>,<kurstyp>) History(<basiswert>,<kurstyp>,<Heute-X-Zeitpunkt>) Der Basiswert (Bezugswert für die Auswertung) ist im Normalfall mit "varAll" belegt und somit innerhalb einer Suchliste variabel, d.h. es wird immer der aktuelle Titel als Basiswert gesetzt und kein fixer Titel. Es ist aber auch möglich z.B. den TecDAX mit seiner (!)WKN zu verwenden "Intraday(<TECDAX-WKN>,<KursTyp>)" und hier einzusetzen. Es ist somit der betrachtete Wert unbestimmt mit varAll oder bereits vorbelegt mit der WKN nutzbar. Das Prinzip ist so für alle vorhandenen Funktionen übertragbar. Als Kurstypen (<kurstyp>) sind erlaubt (O-1,H-2,L-3,C-4,V-5,D-8). Um die Schreibweise leserlicher zu machen (statt der Zahlenwerte), gibt es korrespendierende Konstanten: varKOpen, varKHigh, varKLow, varKClose, varKVolumen, varKDatum. Um die Lesbarkeit zu behalten, sollten diese wenn möglich auch immer verwendet werden. Diese werden aber nicht erzwungen. Intraday gibt dabei immer den aktuellen interen Tageskurs zurück. Liegen noch keine aktuellen Daten vor, wird der letzte bekannte Wert zurückgegeben. Der Wert entspricht immer der Anzeige in den Kurslisten unter AK (Aktuellem Kurs). Heute-X-Zeitpunkt für History History besitzt ein Parameter der bei 0 beginnt zu zählen, d.h. mit 0 : Tageswert und somit = Intraday entsprechend dem gewählten Kurstyp z.B. History(varAll,varKClose,0) - Heutiger Schlusskurs bzw. letzter AK von heute. History(varAll,varKClose,-1) - Vortageswert History(varAll,varKClose,-2) - Vorgestern usw. Logisch ist damit History(<basiswert>,<kurstyp>,0) = Intraday(<basiswert>,<kurstyp>) Ebenfalls verwendet werden kann für die Rückgabe von Kursdaten. Hierbei kann jedoch auf keinen Fremdtitel referenziert werden, sondern es wird im Filter immer der jeweilige aktuell geprüfte Titel verwendet im Filter-Durchlauf: RasInt und RasHis(O|H|L|C|V|Min|Max) wobei die Felder als Zeit oder Indexfelder verwendet werden können z.B. RasHisC(-2) gibt den Schlusskurs von vor 2 Handelstagen wieder z.B. RasHisMax(-5) gibt den Höchstkurs der letzten 5 Handelstage wieder HistoryCount() gibt die Anzahl der vorhandenen Kursdaten auf Schluss-Kurs-Basis zurück. Dies soll vor allem dem herausfiltern von Titeln dienen, die keine ausreichende Kursbasis haben. Nutzung der Ergebnisse eines anderen Filters (SubFilter) Die Bedingungen in einem DynFilter können zusätzlich strukturiert werden innerhalb von Sub-Filtern, d.h. es können definierte Filter in anderen Filtern aufgerufen werden. Dieser Aufruf darf nicht rekursiv erfolgen. Die Berechnung des Subfilters erfolgt zu dem Zeitpunkt der ersten Nutzung innerhalb eines Bedingungsbaumes, sofern dies logisch notwendig ist (wenn die vorherigen AND Bedingungen nicht erfüllt werden können, kommt es zu keinem Aufruf der Funktion). Die Ergebnisse des Filters werden zwischengespeichert, so dass ein nochmaliger Zugriff nicht zu einer kompletten Neuberechnung führt. Die Zugriffsfunktionen sind: SubFilter(ID des Filters,varAll,Ergebniswert) Als Ergebniswerte eines Subfilters sind definiert: varFilterRanking - Rückgabe des Rankingwertes des betrachteten Basistitels varFilterExists - 1 wenn existiert varFilterPos - Position in der Ergebnismenge auf Basis der sortierten Liste mittels der Rankingfunktion zulässig. Somit läßt sich sowohl die Position als auch die Existenz eines Wertes in einem anderen Filter ermitteln. Auch die Auswertung auf Basis eines bestehenden Rankings ist möglich. Datumsfunktionen toDate(DD,MM,YYYY): EXTENTED toTime(HH,MI): EXTENTED (Nachkommastelle) BaseDATE(<basis-verschiebung>) : EXTENTED, FirstEOD: EXTENDED, womit der erste Kurs des Bastitels ermitteln wird und ein Vergleich zur Prüfung einer ausreichenden Kursbasis möglich wird z.B. FirstEOD<toDate(01,01,2000) möglich wird wobei <basis-verschiebung> zwischen -3000 und 3000 liegen kann und sich auf das aktuell Datum bezieht Optimierung Zur Zeit gibt es nur eine Variante eines automatischen Brute-Force-Optimierungsalgorithmus, d.h. es wird der Filter komplett berechnet mit vollständiger Auswertung aller logischen Ausdrücke (auch wenn logisch bereits klar ist, dass der Gesamtausdruck festgelegt ist wahr/falsch). Somit werden die Laufzeiten und die Gesamt-Aufrufe der Einzelbedingungen festgestellt. Jede Einzelbedingung wird bewertet mit Zeitbedarf x Aufrufe Alle Einzelbedingungen können so sortiert werden nach logischem Ausschluß. Hierbei werden die Bedingungen, die ein sehr hohen "Aufwand" produzieren innerhalb eines Teilbaumes nach hinten sortiert. In der Praxis können so die weniger ressourcenhungrigen Bedingungen zuerst berechnet werden um dann (wenn noch notwendig) die weiteren Bedingungen auszuwerten. In der Summe sollte so ein erstellter Filter immer durch das System optimiert werden. Eine manuelle Änderung der Reihenfolge der Einzelbedingungen innerhalb eines Teilbaumes ist zur Zeit vorgesehen, jedoch noch nicht integriert. Bewertung eines Filters mit Handelssystem siehe Handelssystem Einfache Beispiel-Filter Programminterne Beispiele Sie finden direkt im Programm eine editierbare Beispielleiste. Die Beispiele können mit Doppelklick direkt übernommen werden. Man kann sich so schnell eine eigene Sammlung von sinnvollen Bedingungen zusammenstellen. Die Beispiele können mit Doppelklick als Ausdruck für eine Bedingung übernommen werden. Die Beispiele können selbst erweitert und ergänzt werden über eine editierbare Beispiel-Textdatei, die auf der Oberfläche auch angezeigt wird. Wichtig ist, dass ein Filter sich immer aus mehreren Einzelbedingungen zusammensetzen. Ich kann zwar auch komplizierte Bedingungen in ein Bedingungsausdruck miteinander verknüpfen; dies sollte man aber vermeiden. Einfache Beispiele kurz erklärt Nachfolgend einige formulierte Beispiele, die so auch in der Standardauslieferung enthalten sind: Durchschnittsvolumen der letzten 5 Tage Um das Durchschnittsvolumen von den letzten 5 Tagen zu bekommen wäre somit simpel zu schreiben: (History(varAll,varKVolumen,-5) +History(varAll,varKVolumen,-4) +History(varAll,varKVolumen,-3) +History(varAll,varKVolumen,-2) +History(varAll,varKVolumen,-1))/5 < History(varAll,varKVolumen,0) Mindestvolumen von 5000 Stk. Wert hat an dem Tag ein bestimmtes mindest Volumen, z. B. 5000 Stk. Intraday(varAll,varKVolumen)>5000 Kurs von über 0,05 Euro Intraday(varAll,varKClose)>0,05 Kursgewinn von 15% History(varAll,varKClose,0)>History(varAll,varKClose,-1)*1,15 4x so großes Durchschnittsvolumen Wert hat einen 4x so großes Volumen als der Durchschnittswert der letzten 30 Tage. (Intraday(varAll,varKVolumen)>GDUmsatz(varIGMittelfristigeEinstellungen,varAll,varEWer t,0)*4) & (GDUmsatz(varIGMittelfristigeEinstellungen,varAll,varEWert,0)>0) Rein theoretisch könnte man auch GleitenderDurchschnitt als Funktion mit einer festgelegten Basisfestlegung auf den Kurstyp "Volumen" benutzen. Dies ist aber umständlich und erzwingt zudem eine eigene Indikatorengruppe, da diese Festlegung global gelten insb. für Charts usw. Die 30 Tage verbergen sich hierbei in den Einstellungen für den Indikator "Gleitenden Durchschnitt" für die Indikatorengruppe "Mittelfristige Einstellungen". Wert hat an dem Tag ein neues 60 Tage Hoch NewHigh(varIGMittelfristigeEinstellungen,varAll,varEAktivierung,0)>0 Die 60 Tage müssen hierbei am Indikator eingetragen werden z.B. im Chart, im Indikatorenpannel, im Wizard oder auch einfach direkt unter Einstellungen.Indikatorengruppe ->Doppelklick (siehe Indikatorenfunktioen) Nur deutsche Werte Markt='*DAX*'|Markt='*Standard*'|Markt='Ne*'|Markt='Pri*'|Markt='General*' Es gibt keine direkte Variante für diese Prüfung. Die Prüfung muss anhand der Marktdaten erfolgen. Hierbei werden alle relevanten Märkte in einem regulären Ausdruck vergleichen. Im Beispiel erfüllen somit alle Werte aus Märkten mit dem Namen DAX oder Standard usw. die Bedingung. Der Ausdruck sollte aber einmal einfach definiert werden und dann über SubFilter(<ID des Filters>,varAll) eingebunden werden. Erspart hier und an anderen Stellen etwas Arbeit. Indikatoren-Funktionen in Filtern nutzen Nutzung von Indikatoren in Filtern Wenn Funktionen Parameter erwarten, so wird automatisch eine Eingabehilfe aufgerufen, die hoffentlich selbsterklärend ist. Es gibt dabei eine Reihe von nutzbaren Funktionen, wobei folgende Zuordnung genutzt wird: Die Funktionen basieren immer auf einer Einstellungsgruppe, die unter im Hauptmenü im Hauptfenster unter Einstellungen / Indikatoren neu angelegt werden kann. Das Anpassen der Einstellungen kann dann direkt mit dem Button "Verändern" vorgenommen werden. Es gilt immer folgende Semantik: Funktionsname(<IndikatorengruppeID>,<Suchraum als WKN oder varAll>,<Ergebnistyp>,<Ergebnis-Zeit-Punkt relativ mit 0,-1,-2 oder als toDate()> Element Details <Indikatorengruppe> Für jede Indikatorengruppe wird immer eine Konstante angelegt z.B. varIGMittelfristigeEinstellungen mit varIG<Name>. Diese kann für die Referenzierung genutzt werden. Wichtig ist hierbei zu verstehen, dass spezifische Indikatorenparameter z.B. die Anzahl Tage für die Moving-Average-Berechnung Kurz und lang über die Indikatorengruppen gepflegt werden und nicht direkt als Berechnungsparameter mitgegeben werden. Dies erscheint im ersten Moment umständlich, vereinfacht aber Optimierungen im Chart (manuell), die sofort für die Filter gültig werden ohne zusätzliche Änderungen. Die Änderung der Werte zu einem Indikator kann auf sehr unterschiedlichem Wege erfolgen. Mit diesem Indikatoren-Gruppen-Konzept sind die Indikatorenparameter in den Charteinstellungen, Filterberechnungen, Handelssystemen immer gleich und können dennoch unterschieden werden. <Basiswert> Entweder <varAll> oder eine spezifische WKN eines Titels, was für die Berechnung verwendet werden soll <Basisergebnis> Als Funktionsergebniss ist folgendes erlaubt: Ergebniswert(varEWert) - Als Ergebnis der Funktion wird der Wert der Funktion zum Tag X ausgegeben. Zonenwert (varEZone) - Der Rückgabewert liegt zwischen 1 und 3 und nimmt als Basis das Funktionsergebnis. Die Einordnung in eine Zone erfolgt immer auf Basis der Einstellungen eines Indikators. Z.B. kann die Einordnung mittels Normalverteilung oder Gleichverteilung vorgenommen werden. Im Ergebnis werden die Werte über einem festgestellten oberen Schwellwert mit Zone=3 und Werte unterhalb eines errechneten Schwellwertes mit Zone=1 zurückgegeben. Aktivierung (varEAktivierung) - Ähnlich des Prinzips der Fuzzy Logik, kann jeder errechnete Kauf/Verkaufszeitpunkt eines Indikators mit einer Verfallszeit eingestellt werden. Dies sorgt dafür, dass das Signal "ausschwingt" in den folgenden Tagen mittels einer tanh Funktion (1-tanh( 2*Zeit/Signale.Verfallszeit )). Die Signale sind somit mit abnehmender Zeit bis zum Verfallstag immer deutlich schwächer. Verkaufssignale ergeben werden zwischen -1 und 0 und Kaufsignale ergeben immer Werte zwischen 0 und 1. Den Verlauf der Signalmuster kann eingestellt werden unter den Optionen eines Indikators und betrachtet werden in einem Chart unter Aktivierung der Signalmuster mit: Signaltyp/ Signalstärke (varESignaltyp)- Hier werden generierte Kauf-und Verkaufssignale mit -1 und 1 (Kauf) zurückgegeben. Signaltyp und Signalstärke sind dabei synonym verwendet mit Ausnahme der Candlestickformationen. Candlestickformationen besitzen eine eigene Verwendung der Ergebnismengen mit: Zonen sind immer = 0 ( es findet somit keine Berechnung statt) Aktivierung = Signaltyp = 1 bei Kauf und -1 bei Verkauf Wert = Typ der Formation entsprechend den definierten Variablen z.B. cCandleFHangingMan usw. SigStaerke = Signaltyp*Candlestickformationen <Ergebnis-Zeit-Punkt relativ mit 0,-1,-2 oder als toDate()> Das Ergebnis eines Indikators kann relativ betrachtet zurückgegeben werden d.h. z.B. -2 von vor 2 Handelstagen. Mittels Übergabe der toDate-Funktion ist auch ein absolutes Datum nutzbar. Bei Ausführung des Filters sollte man bei Unstimmigkeiten oder zur Kontrolle den Detail-Log-Level aktiviert haben. Hier sind dann die Rückgabewerte der Funktionen prüfbar. Besondere Indikatoren und dessen Nutzung Neuronale Netze für Kursprognose Die Neuronalen Prognose-Netze können in einem Filtersystem genutzt werden. Der Zugriff erfolgt immer über die NNPrognose - Funktion, unabhängig vom genutzter Netz. NNPrognose(ID des Netzes,Wert (z.B. valAll),Zielwert (z.B.varPrognoseHeute)) Bei der Nutzung eines solchen Ausdruckes, wird im Programm automatisch durch einen Assistenten die möglichen Parameter, IDs zusammengestellt. Herleitung zusammen mit einem Chart-Indikator-Bild Zielstellung Das Ziel ist es einen Filter zu erstellen, der mir die Aktien heraussucht, die ADX > 30 über die letzten 14 Tage hatte. Die Herleitung sollte hier am einfachsten visuell erfolgen können. Die Einstellungen von Indikatoren werden immer in Indikatorengruppen gespeicher, d.h. möchte man ein und derselben Indikator auf unterschiedliche Zeiträume vergleichen, muss man entsprechende Indikatorengruppen bilden und diese im Filter entsprechend nutzen. Nachdem man einen neuen Filter erstellt hat und eine UND-Bedingung sowie eine einfache Bedingung im Baum angelegt hat, geht man per Doppelklick auf die neue Bedingung in den Editor. In diesem Bedingungseditor, kommt man durch Eingabe von "DMI" sofort in den Wizard. Hier kann man nochmals die Parameter des Indikators erkennen und verändern (Button Verändern). Wichtig ist die ganz untere Zeile, die dem eigentlichen Funktionsaufruf bildet, d.h. es gilt folgende Semantik Funktionsname(<IndikatorengruppeID>,<Suchraum als WKN oder varAll>,<Ergebnistyp>,<ErgebnisPunkt relativ mit 0,-1,-2 oder als toDate()>) Wichtig ist hier vor allem den Ergebnistyp zu verstehen. Diesen Ergebnistyp kann man gut im Chart vergleichen und erkennen. Wert resultiert hier aus der Indikator-Ergebnislinie (graue) und wird bei Mausbewegung auch direkt angezeigt mit Wert. Der Zonenwert liegt zwischen 1-3 und kann für bestimmte Auswertungen helfen, da die Zonenberechnung unterschiedliche Methoden erlaubt die über ein >MinWert und <MaxWert hinausgehen. Der Aktivierungsgrad liegt zwischen -1 und 1 und entspricht nachlaufenden Kauf-und Verkaufssignalen, d.h. wenn ich nicht umständlich prüfen will ob ein Indikator ein Kaufsignal in den letzten 5 Tagen gebildet hat (womit ich ja DMI(....,-1) | DMI(...,-2) usw. schreiben müsste kann ich die Verfallszeit eines Signals einstellen z.B. auf 5 Tage. So länger der Wert her ist um so schwächer wird er. Dies ist im Chartbild auch gut zu erkennen. Das Signal selber wird im Chart über rote und grüne Pfeile dargestellt. Die Signalumgebung kann erzeugt werden mit Richtungsänderung, Nullinienschnittpunkt usw. Da die Indikatoren unterschiedlich ausgelegt werden können, habe ich die Signalumgebung entsprechend flexibel ausgelegt. Der Signaltyp wird im Normalfall im 1 für Kauf und -1 für Verkauf sein. Für spezielle Indiaktoren wie die Candlestickformation sind zusätzliche Zuordnungen über Konstanten erlaubt. Die Signalstärke bei Candlestickformationen ergeben dabei statisch (siehe Hilfe für Candlesticks) festgelegte Rückgabewerte im Bereich 1-5. Für Ihr Beispiel ergibt sich somit (14 Tage muss in der Indikatorengruppe eingestellt werden und ist damit auch automatisch für die Chartdarstellung gültig -> deshalb können die Indikatoren nicht direkt verändert werden) DMIADXADXR(1,varAll,varEWert,0)>30 Etwas schöner geschrieben wäre auch DMIADXADXR(varIGMittelfristigeEinstellungen,varAll,varEWert,0)>30 möglich. Alle Indikatorengruppe werden dabei als Konstanten mit "varIG<Name>" abgelegt. Der Wizard arbeitet aber bewußt mit technischen Nummern, da diese weniger anfällig gegen Umbenennungen sind. Reguläre Expressions für Text-Stammdaten Grundprinzip Für Strings werden ab der Version 13.2.8 werden normale reguläre Expressions genutzt. Damit sind grundsätzlich Zeichenauswahl-Filter ([egh]) , vordefinierte Zeichenklassen (\d - Zahl), Quantoren und auch die Behandlung von Sonderzeichen möglich für komplexere mehrzeilige Ausdrucks-Vergleiche. Es ist lediglich zu beachten, dass zunächst immer die <Filterfunktion> getrennt durch das Tilde-Zeichen ~ und der regulären Expression definiert sein muss. Die Groß-und Kleinschreibung wird ignoriert. Nutzbare Stammdaten Folgende Stammdaten-Felder lassen sich in Filtern auswerten und nutzen. Wert Rückgabe-Beispiel Semantik und Besonderheiten WKN <WKN> ISIN oder Symbol <ISIN> Videotextname Markt _DAX_,_MDAX_ Notizen analog Segments nur mit Kurznamen der Märkte und Verwendung von _ Mehrzeiliger Text, der über den Chart oder über Doppelklick auf einen Titel gepflegt werden kann Kurzname BasiswertISIN Variables Yahoo-Symobl[isin]:LEO, Zugeordnete und vorhandene Internet-Variablen z.B. Yahoo-Symbole <Variablenname>:<Wert>, Segments DAX,MDAX,Deutschland, Zugeordnete <Marktsegment>, Watchlists Märkte,meineWatchlist,*Depot, Zugeordnete <Watchlist>, Verwendung von reguläre Expressions Weitere Details zur Verwendung finden Sie hier: http://www.regular-expressions.info/reference.html oder https://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck Regular Expression Basic Syntax Reference Characters Character Description Example Any character except [\^$.|?*+() All characters except the listed special characters match a single instance of themselves. { and } are literal characters, unless they're part of a valid regular expression token (e.g. the {n} quantifier). a matches a \ (backslash) followed by any of [\^$.|?*+(){} A backslash escapes special characters to suppress their special meaning. \+ matches + \Q...\E Matches the characters between \Q and \E literally, suppressing the meaning of special characters. \Q+-*/\E matches+-*/ \xFF where FF are 2 hexadecimal digits Matches the character with the specified ASCII/ANSI value, which depends on the code page used. Can be used in character classes. \xA9 matches © when using the Latin-1 code page. \n, \r and \t Match an LF character, CR character and a tab character respectively. Can be used in character classes. \r\n matches a DOS/Windows CRLF line break. \a, \e, \f and\v Match a bell character (\x07), escape character (\x1B), form feed (\x0C) and vertical tab (\x0B) respectively. Can be used in character classes. \cA through \cZ Match an ASCII character Control+A through Control+Z, equivalent to\x01 through \x1A. Can be used in character classes. \cM\cJ matches a DOS/Windows CRLF line break. Character Classes or Character Sets [abc] Character Description [ (opening square bracket) Starts a character class. A character class matches a single character out of all the possibilities offered by the character class. Inside a character class, different rules apply. The rules in this section are only valid inside character classes. The rules outside this section are not valid in character classes, except for a few character escapes that are indicated with "can be used inside character classes". Any character except ^-]\ add that character to the possible matches for the character class. All characters except the listed special characters. [abc] matches a, b orc \ (backslash) followed by any of ^-]\ A backslash escapes special characters to suppress their special meaning. [\^\]] matches ^ or ] - (hyphen) except immediately after the opening [ Specifies a range of characters. (Specifies a hyphen if placed immediately after the opening [) [a-zA-Z0-9] matches any letter or digit ^ (caret) immediately after the opening [ Negates the character class, causing it to match a single characternot listed in the character class. (Specifies a caret if placed anywhere except after the opening [) [^a-d] matches x (any character except a, b, c or d) \d, \w and \s Shorthand character classes matching digits, word characters (letters, digits, and underscores), and whitespace (spaces, tabs, and line breaks). Can be used inside and outside character classes. [\d\s] matches a character that is a digit or whitespace \D, \W and \S Negated versions of the above. Should be used only outside character classes. (Can be used inside, but that is confusing.) \D matches a character that is not a digit [\b] Inside a character class, \b is a backspace character. [\b\t] matches a backspace or tab character Dot Example Character Description Example . (dot) Matches any single character except line break characters \r and \n. Most regex flavors have an option to make the dot match line break characters too. . matches x or (almost) any other character Character Description Example ^ (caret) Matches at the start of the string the regex pattern is applied to. Matches a position rather than a character. Most regex flavors have an option to make the caret match after line breaks (i.e. at the start of a line in a file) as well. ^. matches a inabc\ndef. Also matches d in "multi-line" mode. $ (dollar) Matches at the end of the string the regex pattern is applied to. Matches a position rather than a character. Most regex flavors have an option to make the dollar match before line breaks (i.e. at the end of a line in a file) as well. Also matches before the very last line break if the string ends with a line break. .$ matches f inabc\ndef. Also matches c in "multi-line" mode. \A Matches at the start of the string the regex pattern is applied to. Matches a position rather than a character. Never matches after line breaks. \A. matches a in abc \Z Matches at the end of the string the regex pattern is applied to. Matches a position rather than a character. Never matches before line breaks, except for the very last line break if the string ends with a line break. .\Z matches f inabc\ndef \z Matches at the end of the string the regex pattern is applied to. Matches a position rather than a character. Never matches before line breaks. .\z matches f inabc\ndef Character Description Example \b Matches at the position between a word character (anything matched by \w) and a non-word character (anything matched by [^\w] or \W) as well as at the start and/or end of the string if the first and/or last characters in the string are word characters. .\b matches c in abc \B Matches at the position between two word characters (i.e the position between \w\w) as well as at the position between two non-word characters (i.e. \W\W). \B.\B matches b in abc Character Description Example | (pipe) Causes the regex engine to match either the part on the left side, or the part on the right side. Can be strung together into a series of options. abc|def|xyz matchesabc, def or xyz | (pipe) The pipe has the lowest precedence of all operators. Use grouping to alternate only part of the regular expression. abc(def|xyz)matches abcdef orabcxyz Character Description Example ? (question mark) Makes the preceding item optional. Greedy, so the optional item is included in the match if possible. abc? matches ab orabc ?? Makes the preceding item optional. Lazy, so the optional item is excluded in the match if possible. This construct is often excluded from documentation because of its limited use. abc?? matches ab orabc * (star) Repeats the previous item zero or more times. Greedy, so as many items as possible will be matched before trying permutations with less matches of the preceding item, up to the point where the preceding item is not matched at all. ".*" matches"def" "ghi" inabc "def" "ghi" jkl *? (lazy star) Repeats the previous item zero or more times. Lazy, so the engine first attempts to skip the previous item, before trying permutations with ever increasing matches of the preceding item. ".*?" matches "def"inabc "def" "ghi" jkl + (plus) Repeats the previous item once or more. Greedy, so as many items as possible will be matched before trying permutations with less matches of the preceding item, up to the point where the preceding item is matched only once. ".+" matches"def" "ghi" inabc "def" "ghi" jkl Anchors Word Boundaries Alternation Quantifiers +? (lazy plus) Repeats the previous item once or more. Lazy, so the engine first matches the previous item only once, before trying permutations with ever increasing matches of the preceding item. ".+?" matches "def"inabc "def" "ghi" jkl {n} where n is an integer >= 1 Repeats the previous item exactly n times. a{3} matches aaa {n,m} where n >= 0 and m >= n Repeats the previous item between n and m times. Greedy, so repeating m times is tried before reducing the repetition to n times. a{2,4} matches aaaa,aaa or aa {n,m}? where n >= 0 and m >= n Repeats the previous item between n and m times. Lazy, so repeating n times is tried before increasing the repetition to m times. a{2,4}? matches aa,aaa or aaaa {n,} where n >= 0 Repeats the previous item at least n times. Greedy, so as many items as possible will be matched before trying permutations with less matches of the preceding item, up to the point where the preceding item is matched only n times. a{2,} matches aaaaain aaaaa {n,}? where n >= 0 Repeats the previous item n or more times. Lazy, so the engine first matches the previous item n times, before trying permutations with ever increasing matches of the preceding item. a{2,}? matches aa inaaaaa Regular Expression Advanced Syntax Reference Grouping and Backreferences Syntax Description Example (regex) Round brackets group the regex between them. They capture the text matched by the regex inside them that can be reused in a backreference, and they allow you to apply regex operators to the entire grouped regex. (abc){3}matchesabcabcabc. First group matches abc. (?:regex) Non-capturing parentheses group the regex so you can apply regex operators, but do not capture anything and do not create backreferences. (?:abc){3}matchesabcabcabc. No groups. \1 through \9 Substituted with the text matched between the 1st through 9th pair of capturing parentheses. Some regex flavors allow more than 9 backreferences. (abc|def)=\1matchesabc=abc ordef=def, but not abc=def ordef=abc. Syntax Description Example (?i) Turn on case insensitivity for the remainder of the regular expression. (Older regex flavors may turn it on for the entire regex.) te(?i)stmatches teSTbut not TEST. (?-i) Turn off case insensitivity for the remainder of the regular expression. (?i)te(?-i)stmatches TEstbut not TEST. (?s) Turn on "dot matches newline" for the remainder of the regular expression. (Older regex flavors may turn it on for the entire regex.) (?-s) Turn off "dot matches newline" for the remainder of the regular expression. (?m) Caret and dollar match after and before newlines for the remainder of the regular expression. (Older regex flavors may apply this to the entire regex.) (?-m) Caret and dollar only match at the start and end of the string for the remainder of the regular expression. (?x) Turn on free-spacing mode to ignore whitespace between regex tokens, and allow # comments. (?-x) Turn off free-spacing mode. (?i-sm) Turns on the option "i" and turns off "s" and "m" for the remainder of the regular expression. (Older regex flavors may apply this to the entire regex.) (?i-sm:regex) Matches the regex inside the span with the option "i" turned on and "m" and "s" turned off. Modifiers (?i:te)stmatches TEstbut not TEST. Atomic Grouping and Possessive Quantifiers Syntax Description Example (?>regex) Atomic groups prevent the regex engine from backtracking back into the group (forcing the group to discard part of its match) after a match has been found for the group. Backtracking can occur inside the group before it has matched completely, and the engine can backtrack past the entire group, discarding its match entirely. Eliminating needless backtracking provides a speed increase. Atomic grouping is often indispensable when nesting quantifiers to prevent a catastrophic amount of backtracking as the engine needlessly tries pointless permutations of the nested quantifiers. x(?>\w+)x is more efficient than x\w+x if the second x cannot be matched. ?+, *+, ++ and{m,n}+ Possessive quantifiers are a limited yet syntactically cleaner alternative to atomic grouping. Only available in a few regex flavors. They behave as normal greedy quantifiers, except that they will not give up part of their match for backtracking. x++ is identical to (?>x+) Syntax Description Example (?=regex) Zero-width positive lookahead. Matches at a position where the pattern inside the lookahead can be matched. Matches only the position. It does not consume any characters or expand the match. In a pattern likeone(?=two)three, both two and three have to match at the position where the match of one ends. t(?=s)matches the second t instreets. (?!regex) Zero-width negative lookahead. Identical to positive lookahead, except that the overall match will only succeed if the regex inside the lookahead fails to match. t(?!s)matches the firstt in streets. (?<=regex) Zero-width positive lookbehind. Matches at a position if the pattern inside the lookahead can be matched ending at that position (i.e. to the left of that position). Depending on the regex flavor you're using, you may not be able to use quantifiers and/or alternation inside lookbehind. (?<=s)tmatches the firstt in streets. (?<!regex) Zero-width negative lookbehind. Matches at a position if the pattern inside the lookahead cannot be matched ending at that position. (?<!s)tmatches the second t instreets. Lookaround Continuing from The Previous Match Syntax Description Example \G Matches at the position where the previous match ended, or the position where the current match attempt started (depending on the tool or regex flavor). Matches at the start of the string during the first match attempt. \G[a-z] first matches a, then matches b and then fails to match in ab_cd. Syntax Description Example (?(?=regex)then|else) If the lookahead succeeds, the "then" part must match for the overall regex to match. If the lookahead fails, the "else" part must match for the overall regex to match. Not just positive lookahead, but all four lookarounds can be used. Note that the lookahead is zero-width, so the "then" and "else" parts need to match and consume the part of the text matched by the lookahead as well. (?(?<=a)b|c)matches the second b and the first c inbabxcac (?(1)then|else) If the first capturing group took part in the match attempt thus far, the "then" part must match for the overall regex to match. If the first capturing group did not take part in the match, the "else" part must match for the overall regex to match. (a)?(?(1)b|c)matches ab, the first c and the second c inbabxcac Syntax Description Example (?#comment) Everything between (?# and ) is ignored by the regex engine. a(?#foobar)bmatches ab Conditionals Comments Beispiele Das nachfolgend aufgeführte Feld "Katalog" als Feldname ist nur in der Katalog-Filter-Funktion nutzbar. Die Nutzung von Expressions lässt sich hiermit aber perfekt zeigen. Ziel Beispiel Automatische Markierung im Tai-Pan-Katalog aller Deutschland-Kataloge Katalog~^04[1,4,6]{1}.(?!.*Stoxx.*)(?!.*Parkett.*) Automatische Markierung im Tai-Pan-Katalog aller Leitdaten Katalog~[0-9]{3}.(Indizes|Devisen|Rohstoffe|Futures.*|Renditen).[0-9] Automatische Markierung aller relevanter Märkte Katalog~^(04[1,4,6]{0,3}|[0-9]{3}.Österreich|[0-9]{3}.Dänemark|[0-9]{3}.Schweiz|[0-9]{3}.Indizes.[0-9]|[0-9]{3}.Devisen.[0-9]|[0-9]{3}.Roh Handelssystem Zielsetzung Eine Bewertung eines Filtersystems erfolgt mittels eines Handelssystem. Dieses verwendet ausgehend von einem Initalkontostand den Dynfilter um Werte zu finden für den Einstieg und Stops für den Ausstieg. Berücksichtigt werden im System dabei feste und variable Gebühren pro Trade und Slippage. Ebenso wird ein maximale Einstiegssumme (Prozentual) pro Wert auf Basis einer vernünftigen Diversifikation verwendet. Das Handelssystems bewertet dabei alle gefundenen Werte pro Tag auf Basis der Rankingfunktion.Somit wird zunächst der erste gefundene Wert gekauft mit der maximalen Einstiegssumme, dann der zweite bis ein weiterer sinnvoller Kauf nicht mehr möglich ist (Kontostand<1% oder Kontostand <100). Die Ausstiege erfolgen anhand einer zuvor festgelegten Stopstrategie, die täglich für jede eingegangene Position geprüft wird. Damit lassen sich (+-) Trades,die Performance und insgesamt die Zuverlässigkeit des Systems prüfen für definierte Filter. Bei der Performanceberechnung müssen somit für die Signalumsetzung in dem Einstieg und dem Stoppverhalten Festlegungen vorgenommen werden. Diese werden dann im Handelssystem zur Entscheidung herangezogen: Einstieg am Close der gleichen Periode, Open nächste Periode oder Open nächste Periode mit Bestätigung. Für den Ausstieg wird in jedem Fall ein Stoppkurssystem verwendet. Vorgesehen sind alle Möglichkeiten der Stopp-Verwaltung die auch in Shareholder integriert sind also Zielkursstopps, Trailing Stopps usw. Bei der Signalumsetzung für die Performanceberechnung gibt es als Varianten: Sofort, Close gleiche Periode oder Open nächste Periode. In Praxis (außerhalb des Handelssystems) sollte der Nutzer sich ähnlich verhalten bei Nutzung eines solchen automatischen Filtersystems und zwingend ein Stopkurs einsetzen insb. den Initial Stopp - Kurs. Ein Automatismus durch das Programm, der den User dazu zwingt, gibt es allerdings nicht. Allerdings ist für spätere Versionen ein entsprechender nochmaliger Verweis vorgesehen. Festlegung der Signalumsetzung für Performanceberechnung erforderlich Initial Risk Stop wird bei Umsetzung eines Trades erzwungen, womit ein Trade direkt von der Ergebnisliste des Fensters aufgerufen werden muss Grundlage eines Handelssystem ist ein Filter. Ein Handelssystem macht ein Filter prüfbar hinsichtlich Performance und somit auch hinsichtlich seiner Praxistauglichkeit. Die System arbeitet so weit wie möglich praxisnah, d.h. es werden sowohl Gebührenkosten, Slippage als auch Stopkosten angerechnet um die tatsächliche zu realisierende Performance zu errechnen. Arbeitsweise Das System arbeitet nach folgendem Prinzip: Kaufe die TOP Werte aus der Ergebnismenge eines DynFilters, solange Liquidität vorhanden ist (>500 Euro) Die Käufe erfolgen je nach Einstellung des Handelssystems entweder auf Basis des Aktuellen Close der gleichen Periode (selber Tag) Open Kurs des nächsten Tages Nach dem Prinzip des Stop Buys auf Basis von Kurs.Close*1.01 (1% über Close des aktuellen Tages) wenn NextDateKurs.High>= Kurs.Close*1.01, d.h. am nächsten Tag würde der Stop Buy ausgelöst werden Die Werte werden sofort mit einem Initial Risk Stop abgesichert Es erfolgt ein automatisches Nachziehen der Stopkurse als Trailing Stops bei allen vorhandenen Positionen Unterschreitet ein Wert den Stopkurs wird dieser verkauft zum Stopkurs. Dadurch das ohnehin Slippage berechnet wird, sind praxisrelevante Unterschiede zwischen dem gesetzten Stopkurs und dem tatsächlichen Verkaufskurs berücksichtigt. Sofern durch ein Verkauf Geld frei wird, wird sofort durch die Ergebnismenge des zugrundeliegenden Filters ein neuer Wert gekauft beginnend bei den TOP Positionen der Ergebnismenge Am Ende der Betrachtungszeit werden alle Positionen verkauft zum Close des selbigen Tages. Neue Positionen werden am Endtag entsprechend nicht eingegangen. In der Folge kommt es nur zu Neuberechnungen des zugrundeligenden Filters, wenn: Eine neue Position eingegangen werden muss, d.h. Liquidität vorhanden ist. Kennzahlen Der Zugang erfolgt über das Hauptmenü Einstellungen / Filter-System. Dort findet sich pro Filter ein Button "Handelssystem". Ein Handelssystem ist damit immer direkt mit einem Filter verbunden. Die Bewertung des Erfolgs bzw. der Praxistauglichkeit eines Filters ist subjektiv kaum sinnvoll. Die objekte Bewertung anhand von Kennzahlen ist innerhalb des Tradingstudios im Reiter "Handelssystem" möglich. Hierbei wird nach dem erklärten Prinzip unter "Handelssystem" eine Tradingsmodell auf Basis des genutztern Filters angewendet und so das Modell meßbar.In späteren Anwendungen von Shareholder, lassen sich so auch z.B. Genetische Algorithmen zur automatischen Optimierung von Handelssystem verwenden. Folgende Kennzahlen werden verwendet, mit folgenden Einschränkungen: Initialkontostand: Startkapital für das Tradingmodell entspricht dem Startkapital für das Modell eines Musterdepots Performance: Endperformance unter Berücksichtigungen aller Nebenkosten wie Stopkosten, Slippage und Gebühren Trades: Anzahl der durchgeführten Trades (Buys and Sells) Haltefrist: Durchschnittliche Haltefrist eines Position (durch vollständige Auflösungen von Positionen werden gezählt) Diversifikation: Anzahl unterschiedlicher Titel auf Basis aller Trades Bruttogewinn: Reingewinn ohne Nebenkosten % Gebühren: Variable Kosten + Fixe Kosten des Brokers (festgelegt im Handelssystem) % Slippage: Berücksichtigung von Divergenzen zwischen Kauf-und Verkaufspreisen % Stopkosten: Die Nutzung von Stops bzw. deren Änderung kostet im Normfall beim Broker Geld. Da das Handelssystem jedoch auf die Anwendung von Stops basiert, können die Kosten hiermit berücksichtigt werden Nettogewinn: Eigentlicher verbleibender Gewinn unter Beachtung aller Nebenkosten Für eine Handelssystem stehen einige Einstellungen zu Grunde, die maßgeblich für den Erfolg eines Systemes sein können. So ist zunächst aus praktischen Gründen (wer hat schon 1.000.000 Startkapital zur Verfügung) nur ein Startkapital von 10.000 € und eine max. Anlagesumme von 35% als Basieinstellung hinterlegt, d.h. zu jedem Kaufzeitpunkt wird max. 3500€ investiert. Diese Summe ändert sich während der Laufzeit des Handelssystemes nicht. Um ein Handelssystem so realistisch wie möglich abzubilden wie sowohl Kosten für die Trades selbst, auch Kosten für Slippage (Unterschied zwischen Ask/Bid Kursen) und Änderungen von Stopkursen berücksichtigt. Dies macht in der Praxis/im Test geringfügig profiable aber hochaktive (viele Transaktionen) Handelssysteme unpraktikabel oder sogar verlustreich. Die Einstellungen sind sorgfältig zu wählen, da diese das Gesamtsystem sensibel beeinflussen. Bei der Auswertung eines Handelssystemes sollten die Ergebnisse insb. in den Gebühren sorgfältig geprüft werden, so kann z.B. auch ein profitbables System mit häufigen Stopkursänderungen und angerechneten Kosten von 2,5€ pro Stopkursänderung ungünstig erscheinen. Hier kann in der Praxis auch eine Direktbank gewählt werden, die diesen Service kostenlos anbietet. Anwendungen Generell Um ein Handelssystem zu starten, wird in den Hauptreitern der Reiter "Handelssystem" gewählt. Danach können Sie über eine Auswahlbox alle verfügbaren Filter auswählen. Jeder Filter hat eigene Handelssystem-Einstellungen. Der Start der Berechnung erfolgt über den Button "Starten" und kann jederzeit unterbrochen werden über "Abbrechen". Spezialanwendungen Automatisches Handelssystem fuer Chartindikatoren Statistik Der Aufruf erfolgt über die Logausgaben (siehe unten) und den Button "Ergebnisse" oder über das Hauptmenü "Analyse / Filter-Statistiken". Grundsätzlich werden hier alle erzeugten Handelssystemergebnisse gespeichert aus den automatischen Chart-Indikator-Handelssystemen ((!)Noch NICHT! für normale Handelssysteme). Eine Deaktivierung dieser Funktion ist nicht vorgesehen. In den Filterergebnissen werden sowohl die Performance, als auch die Einstellungen der zugrundeliegenden Indikatoren gespeichert. Ziel ist es in einer Vergleichsliste unterschiedliche Indikatorenparameter auszutesten in einem automatischen Handelssystem. Spezielle händische Optimierungen sind so jederzeit möglich, da diese durch das Handelssystem prüfbar gemacht werden. Funktionen Löschen einer Ergebniszeile (Button Löschen) Drucken der Gesamtliste (Button Drucken) Skalierung bzw. Automatische Anpassung der Spaltenhöhen/-weiten Gruppierung nach unterschiedlichen Spalten, d.h. es werden Gruppen gebildet auf Basis der vorhandenen Werte Editieren alle Daten im Grid (Klick ins entsprechende Feld) Gruppierung Als Spezielgruppierung ist die Gruppierung nach der vorhandenen Bemerkung möglich. Diese lässt sich editieren im angezeigten Grid durch ein Klick auf die Bemerkung. Nach Auswahl der Gruppierung nach Bemerkung schaut das Ergebnis ungefähr so aus: Automatisches Handelssystem fuer Chartindikatoren Zielsetzung Das Ziel, der hier zu beschreibenden automatischen Handelssysteme, ist ein geeignetes einfaches technisches System zu finden, dass ein in der Kapitalanlage unterstützt. Dies erfolgt über die automatische Bereitstellung von Handelssysteme für technische Indikatoren. Die Handelssysteme werden dabei mittels Kennzahlen bewertet und damit vergleichbar. Das eigene SETUP kann so ohne eingesetztes Geld getestet und optimiert werden. Über einen Basistitel-Chart werden dabei technische Indikatoren eingeblendet und über das Handelssystem zusammen mit Taktiken für den Ein-und Ausstieg optimierbar. Dies erlaubt somit den direkten Vergleich von der Zuverlässigkeit von technischen Signalen, von grundsätzlichen Aussagen über erfolgsversprechende Ein-und Ausstiegsstrategien und sinnvolle Money-Management-Parameter. Weitere Optimierungen im Umgang mit Hebel-Papieren und der automatischen Optimierung der Indikatorenparameter sind denkbar, bisher aber noch in Arbeit bzw. für weitere Ausbaustufen geplant. Kurz-Zusammenfassung Nach Auswahl eines Titels Optimierung der zu verwendenden Money-Management-Einstellungen anhand der Performance-Kennzahlen Optimierung des zu verwendenden Indikators anhand der Performance-Kennzahlen Optimierung nach Long / Short Optimierung nach Einzel-Indikatoreneinstellungen (i.A.) Optimierung von sinnvollen Hebeln mit dem aktuellem Handelssystem Komplette Nachverfolgbarkeit durch umfangreiche Logausgaben und direkter Abbildung der Handelssignale im Chart des Basistitels Weiterbearbeitung von erfolgreichen Einstellungen in einer Filter-Handelssystem-Statistik mit Exportfunktion nach Excel, Word usw. Das System steht nur in der Profiversion zur Verfügung Ausgangsüberlegungen Sollten Sie sofort loslegen wollen, so überspringen Sie die nachfolgende Darstellungen, die als Hintergründe zum System verstanden werden sollen. Nutzung von Kauf-Verkaufssignalen der technischen Indikatoren Optimierung von Money-Management-Einstellungen wie Kapitalrisiko, Risikoanlage-Typ (fix, dynamisch mit Kapitalwachstum), Initial-Risk-Festlegung, Trailing-Stopp-Festlegungen Handelssystem muss manuellen Einstellungen folgen bzw. diese möglich sein Mit dem Wechsel von aktiven Indikatoren muss sofort eine Neuberechnung des aktiven Handelssystems erfolgen, ebenso für Änderungen von Indikatorenparameter Berechnung muss der normalen Handelslogik folgen können Zusätzliche Kosten wie Slippage, Gebühren für Stopps, für Trades müssen berücksichtigt sein Einstiege folgen den Kapitalrisiko-Einstellungen (Typ, %) Einstiege werden durch technische Indikatoren-Signale ausgelöst (entspechend den Einstellungen des Indikators) Ausstiege werden je nach Einstellung im Handelssysstem durch Indikatoren-Signale und/oder Init-Stopps, Trailing-Stopps vorgenommen Ein-und Ausstiegskurse können relativ gesetzt werden zum Einstiegszeitpunkt, d.h. direkt mit Close oder dem nachfolgenden Eröffnungskurs bzw. auch einer "Bestätigungs-Kurs"-Variante, wo der Eröffnungskurs > Vortages-Close sein muss, womit dann der Eröffnungskurs verwendet wird Arbeitsschritte Aufruf eines Charts Für den Basischart sollten Sie zunächst einen Titel auswählen, der für Sie als geeigneter Basistitel zum Trading geeignet ist. In diesem Beispiel wird der DAX-Performanceindex als Basistitel gewählt (Trading erfolgt in der Praxis dann über Index-Optionen oder CFDs). Festlegung des Signalindikators Da das Handelssystem selbst auf generierte Kauf-und Verkaufssignale von technischen Indikatoren basiert, sollte ein Indikator hierfür ausgewählt sein. Hierzu eines der Indikatorenfenster öffnen: In diesem Indikatorenfenster kann nun über das "Augen-Icon" dieser Indikator in den Hauptchart mit den generierten Signalen übernommen werden. Gleichzeitig dient dieser Indikator als Basis für das Handelssystem. Um manuelle Optimierungen zu vereinfachen, wird nach dem Öffnen des Handelssystems (nächster Schritt), nachfolgend mit jedem Wechsel des aktuellen Indikators (ohne diesen als Chartindikator nutzen zu müssen), dass Handelssystem neu berechnet. Veränderungen über die Einstellungen des Indikators, führen ebenso zu einer Neuberechnung. Solange ein Handelssystem geöffnet bleibt, wird dabei mit jedem Durchlauf eine Statistik-Liste geführt, die als CSV exportierbar ist. Mehrere Optimierungsläufe sind damit sinnvoll möglich. Öffnen des Handelssystems Im Hauptchart öffnen Sie über die Toolleiste das Handelssystem. Das System muss hierbei nicht manuell erstellt werden, sondern wird auf Basis der aktuellen Indikatoreneinstellungen angezeigt. Der erste Durchlauf erfolgt sofort automatisch und kann über den Button "Abbrechen" unterbrochen werden. Danach muss der Start über den Button "Starten" initiiert werden. Die Berechnung erfolgt immer auf Basis der aktuellen Handelssystem-Einstellungen. Als Standardeinstellungen werden globale Programmeinstellungen für Handelssysteme verwendet. Diese ergeben sich aus dem letzten Speichervorgang, die über die untere Toolleiste mit dem Button "Speichern" erfolgen kann. Sie erhalten danach eine Ansicht wie diese: Das Fenster teilt sich dabei auf in die Reiter Einzelberechnung Obere Office-Ribbon-Bar Handelssystem: Grundsätzliche Steuerung der Berechnungen für das Handelssystem und grundlegende Einstellungen Optimierung Money-Management: Grundsätzliche Steuerung der Optimierungsberechnungen für die Money-Management-Einstellungen wie Kapitalrisiko usw. Bedingungen: zugrunde liegender Filter Auswertungen: Aktuelle Kennzahlen des Handelssystems inkl. Performance-Chart. Die Neuberechnung der Auswertungen erfolgt auf einen Handelstag nur bei Veränderung durch Kauf- oder Verkauf. Dies macht das Chartbild stufenartig, erhöht die Performance aber signifikant. Untere Toolleiste "Speichern": Speichert die aktuellen Handelssystem-Einstellungen als Standardeinstellungen in den Programmeinstellungen "Abbrechen": Schließt das aktuelle Fenster (ohne zu Speichern) Statistiken Für jede abgeschlossene Berechnung eines Handelssystems wird hier "Buch" geführt, d.h. eine neue Vergleichszeile einführt. Die Kennzahlen hierfür sind nachfolgend erklärt. Die Statistiken sind temporär und werden mit dem Schließen des Hauptfensters verworfen. Über die obere Toolbar gibt es aber zusätzlich Zugriff auf eine nicht temporäre Ergebnisstatistik, die für alle Handelssystem gilt. Zudem kann für die weitere Verarbeitung in Excel, eine CSV-Datei exportiert werden. Log-Ausgaben Um weitgehend das System nicht als Schwarze - Box verstehen zu müssen, können unter diesem Reiter, alle Berechnungsschritte in einstellbarer Detailtiefe nachvollzogen werden als Log-Ausgaben. Der Detailgrad wird zuvor eingestellt im gewünschten Level. Kennzahlen und Statistiken Statistiken Spalte - Indikator: Name des verwendeten Indikators. In Klammern werden die verwendeten Indikatorenparameter gezeigt. Dies erlaubt die manuelle gezielte Optimierung, da bei Wechsel der Indikatorenparametern im Charthauptfenster, sofort eine Neuberechnung gestartet wird. Spalte - Startdatum: Startzeitpunkt für die Berechnung des Handelssystems. Spalte - Performance: Effektive Nettoperformance des Handelssystems nach vollständiger Berechnung vom Startzeitpunkt bis Heute Spalte - P-Min: Minimale Performance des Handelssystem über den kompletten Betrachtungszeitraum Spalte - P-Max: Maximale Performance des Handelssystem über den kompletten Betrachtungszeitraum Spalte - P-Mittel: Durchschnittliche Performance des HS über den kompletten betrachteten Zeitraum (Startzeitpunkt-Heute) Spalte - +Trades: Positiv abgeschlossene Trades im Testzeitraum. Ausgewertet werden nur die Verkäufe Spalte - -Trades: Negativ abgeschlossene Trades im Testzeitraum. Ausgewertet werden nur die Verkäufe Spalte - KapRisikoTyp: Kapitalrisiko-Typ: 'mpFixOnStartCapital': Startkapital für Käufe werden prozentual entsprechend den HS-Einstellungen zum Startkapital gesetzt. Damit ist dies eine fixe Summe. 'mpProzOnCapital': Startkapital für Käufe wird prozentual entsprechend den HS-Einstellungen zum aktuell verfügbaren Kapital gesetzt. Spalte - KapRisiko: Maximales einzugehendes Kapitalrisiko für Käufe Spalte - InitStopp: Prozentualer zu verwendende Initial-Risk-Stopp unterhalb des Kaufkurses Spalte - TrailingStopp: Prozentualer zu verwendende Trailing-Stopp unterhalb des aktuellen Kurses. Trailing-Stopps werden täglich nachgeführt, sofern der heutige berechnete Stopp höher als der vorherige ist. Kennzahlen Initialkontostand: Zu verwendendes Startkapital für die Berechnungen Performance: Effektive Nettoperformance des Handelssystems nach vollständiger Berechnung vom Startzeitpunkt bis Heute Min: Minimale Performance des Handelssystem über den kompletten Betrachtungszeitraum Max: Maximale Performance des Handelssystem über den kompletten Betrachtungszeitraum Mittel: Durchschnittliche Performance des HS über den kompletten betrachteten Zeitraum (Startzeitpunkt-Heute) Buy&Hold: Differenz des Schlusskurses von Heute und dem vom Startzeitpunkt bzw. Entwicklung bei 100% Kauf zum Startzeitpunkt und Verkauf zum heutigen Schlusskurs. Gebühren sind dabei nicht berücksichtigt! Zeitraum: Anzahl Kalendertage zwischen Heute und Startzeitpunkt Trades: Anzahl der durchgeführten Kauf-und Verkaufstrades. Stopp-Transaktionen werden NICHT mitgezählt Positiv oder Negativ abgeschlossene Trades im Testzeitraum. Ausgewertet werden nur die Verkäufe Mittlere Haltedauer: Die durchschnittliche Anzahl von Tagen, die Trades dauern bzw. der Titel gehalten wird (Verkauf minus Initial-Kauf) Diversifikation: Anzahl unterschiedlicher Titel, die gehandelt wurden. Für automatische Handelssystem immer 1 Bruttogewinn: Gewinn ohne Abzug von Gebühren, Slippage, Stoppkursen Nettogewinn: Gewinn unter Abzug von Gebühren, Slippage, Stoppkursen Einstieg und Ausstiegs-Szenarien (Entry-Exit-Setup) Für Handelssysteme gibt es unterschiedliche Einstiegs-und Ausstiegsmethoden: Einstieg: Immer über Kaufsignal des zugrunde liegenden technischen Indikators. Gekauft wird entsprechend der Kapitalrisiko-Einstellung in Prozent zum Einstiegskapital (und damit fixen Wert) oder in Prozent zum aktuellen Kapital. Bei einem Restkapital von 100€ wird keine Position mehr eingegangen. Um auch Index-Systeme prüfen zu können, werden Stückzahl als Gleitkommawerte mit max. 3 Nachkommastellen zugelassen. Die Init-Stopps werden sofort angelegt, wenn eine Ausstiegs-Strategie gewählt wird, die Stopps vorsieht. Es ist damit möglich eine reine signalorientierte Strategie zu fahren. Ausstieg "Filter": Immer über Verkaufssignale des zugrunde liegenden technischen Indikators. Stopps werden in dieser Einstellung vollständig ignoriert. "Filter oder Stopps": Verkauf erfolgt über die Verkaufssignale oder über Init-Stopps oder Trailing-Stopps. Für die Stopps gelten die entsprechenden Einstellungen in Prozent. Init-Stopps werden bei Mehrfachpositionen nur dann nachgezogen, wenn der neue berechnete Init-Stopp auf den gleitenden Durchschnitts-Kaufkurs größer ist als der bisherige. Trailing-Stopps werden mit jedem Handelstag nachgezogen und entsprechend ausgelöst, sofern notwendig. Bei allen Stopps gilt, dass diese einen sofortigen Verkauf der kompletten Position bewirken. Optimierung der Einstellungen Die Money-Management-Einstellungen können über einen Brute-Force-Algorithmus getestet und automatisch optimiert werden. Hierbei werden alle verfügbaren Varianten "durchgespielt" und die Performance in einem derartig eingestellten Handelssystem "gemessen". Der Start erfolgt über den Reiter "Optimierung Money-Management" und dem Button "Starten". Nach dem Start kann die Berechnung jederzeit unterbrochen werden mit "Abbrechen". Die Berechnung erfolgt dabei im Rahmen der unter "Testraum für Optimierungslauf" festgelegten Rahmenbedingungen. Konkret ist im oberen Beispiel damit ein Testrahmen von Kapitalrisiko von 20% bis 100% gesetzt. Für den Initial-Risk-Stopp wird ein 5%-30% Wert zur Prüfung vorgegeben. Für den Trailing-Stopp gilt der Testrahmen von 10-50%. Da keine genetischen Algorithmen eingesetzt werden, wird um den Berechnungsaufwand überschaubar zu halten, folgende einfache Regelung genutzt (Range = rechter Wert - linker Wert): Trailing-Stopps werden in Schritten von 5% getestet, wenn die eingestellte Range in den Optimierungseinstellungen >10% ist. Bei einer Range <=10% wird in der kleinstmöglichen Schrittweite von 1% gearbeitet. Initial-Stopps werden in Schritten von 5% getestet, wenn die eingestellte Range in den Optimierungseinstellungen >10% ist. Bei einer Range <=10% wird in der kleinstmöglichen Schrittweite von 1% gearbeitet. Kapitalrisiko wird in Schritten von 10% getestet, wenn die eingestellte Range in den Optimierungseinstellungen >10% ist. Bei einer Range <=10% wird in der kleinstmöglichen Schrittweite von 1% gearbeitet. Wird im Handelssystem für die Exit-Festlegung eine NICHT-Stopp-Variante, d.h. Ein-und Ausstieg nur auf Basis von Indikatorsignalen, verwendet, so werden im Durchlauf die beiden Stopp-Parameter ignoriert. Während der Berechnung wird die Abarbeitung nach folgender Prio vorgenommen: Kapital-Risiko-Typ -> Kapitalrisiko -> Initstopp -> Trailing-Stopp. Während der Berechnung wird laufend die Statistik aktualisiert und nach der Performance-Spalte eine Sortierung vorgenommen. Am Ende der Optimierung, wird der optimale Wert für das aktuelle Handelssystem übernommen. Bei gleicher Performancekennzahl werden Handelssystem-Einstellungen mit kleinerem Init-Stopp und kleinerem Trailing-Stopp bevorzugt, da hier die Risiken sinnvoll begrenzt werden können. Um die aktuellen Einstellungen des aktiven Handelssystems als Standardeinstellung in die Programmeinstellungen zu übernehmen, kann über die unterste Toolleiste der "Speichern"-Button gedrückt werden. Diese werden beim nächsten Programmstart wieder hergestellt und dienen als Basis für alle generierten Handelssysteme. Dynamische Filter aus Shareholder besitzen jeweils eigene Handelssystem-Einstellungen, können über entsprechende Buttons aber auf die Standardeinstellungen zurückgesetzt werden. Technische Indikatoren Gruppierung von Indikatoren in Gruppen Indikatoren besitzen individuelle Parameter. Im Normalfall richten Sie die Einstellungen hierfür nach den betrachteten Zeithorizont. Um diese Betrachtungsweise zu unterstützen sind Indikatorengruppen eingerichet. Neben den individuelle Einstellungsmöglichkeiten können hier auch einzelne Indikatoren deaktiviert werden. Für jeden Indikator stehen neben den Parametern auch indivuelle SignalgenerierungsAnalyse Einstellungen zur Verfügung. Die Indikatorengruppen werden in Handelssystemen, Dynamischen Filtern und Chartanalysen verwendet. Welche Indikatorengruppe im Einzelfall genutzt wird, ist speziell in den Umgebungseinstellungen der Module festzulegen. Beispielsweise im Chartmodul muss hierzu das Einstellungsmenue geöffnet werden und über Indikatorenparameter die gewünschte Indikatorengruppe ausgewählt werden. Die Indikatoren werden anschließend komplett neu berechnet. Veränderungen an Basiseinstellungen für Indikatoren erfolgen immer um Umfeld einer eingestellten Indikatorengruppe. Die Einstellungen erfolgen über Einstellungen / Indikatoren. Basiseinstellungen für Indikatoren Alle Indikatoren basieren auf ein Grundmodell für die Signal- Zonen - und Divergenzanalysen. Parameter Editiergrid für alle vorhandenen Parameter eines Indikatores. Änderungen an den Parametern werden mit dem Button Speichern dauerhaft gespeichert und mit Abbrechen verworfen. Für jden Parameter gibt es einen Defaultwert der mit dem Button Reset aktiviert werden kann. Für die möglichen Werte eines Parameters gibt es zudem eine Range die durch die Minimum und Maximumwerte festgelegt sind. Zusätzlich Hilfe für die Einstellung der Parameter kann teilweise mit Aufruf der Hilfe gegeben werden. Als gesonderter Parameter gilt die Kursbasis, die unten rechts im Fenster festgelegt werden kann. Die Kursbasis meint die verwendeten Inputdaten für die Berechnung eines Indikatores. Einige Indikatoren ignorien diesen Wert jedoch, da Sie intern ohne auf festgelegte Kursbasen zugreifen. Dies ist ersichtlich wenn die Formel des Indikatores betrachtet wird. Signale Fast alle Indikatoren können über ein Signalpattern Signalmuster generieren. Das zu nutzende Signalpattern ist seperat für die Kauf- und die Verkaufssignale festlegbar. Folgende Pattern sind definiert: Richtungsänderung: Der Basiswert verändert im Vergleich von 3 Einträgen der Ergebnisreihe die Richtung, beispielsweise 1>2<3 oder 1<2>3. Dagegen sind 1>2>3 und 1<2<3 ok. Crossover/Schnittstellen: Dieses Pattern ist nur nutzbar bei Indikatoren die intern sowohl eine Ergebnisreihe als auch zusätzlich einen Trigger berechnen. Tritt ein Schnittpunkt der beiden gedachten Linien auf, so wird ein Signal generiert. Nullachsenschnittpunkte: Entsprechend der Einstellung unter Datenquelle wird ein Schnittpunkt mit der Y-0-Achse als Signal interpretiert. keine Signale: Die Signalgenerierung dieses Signaltypes (Kauf/Verkauf) ist nicht sinnvoll und soll daher unterbunden werden. Jeder Signaltyp hat eine eigene Verfallszeit, die den Verfall des ursprünglichen Signalwertes (1=Kauf, -1=Verkauf) in einer expotentiellen Kurve auf X Tage legt, d.h. die Signalwirkung wird expotentiell kleiner um so länger die Signalgenerierung bereits in der Vergangenheit liegt. Zonenanalyse Zonenanalyse ist nicht sinnvoll und wird somit unterbunden Lineare gleichverteilte Zonenbildung, d.h. alle Zonen sind auf der Y-Achse gleich groß und besitzen somit einen linearen Faktor Normalverteilung: Es wird eine Normalverteilung der Werte in Form einer Glockenkurve vermutet, d.h. der mit % angegebene Wert spiegelt den Mittenbereich innerhalb der Glockenkurve dar. Divergenzanalyse Es werden bei Aktivierung Unterschiede zwischen dem Verlauf des Basistitels und der des Indikatores gesucht, d.h. wenn der Basistitel steigt und der Indikatorwert fällt, so liegt eine Divergenz vor. Der Zeitraum für den Vergleich beschreibt die Glättung der Daten vor dem Vergleich sowohl für die Indikatorenergebnisreihe, als auch für die Basistitelkursreihe. Theorie und Hintergründe Technische Indikatoren resultieren aus berechneten Datenreihen, die aus den Ursprungsdaten mit Hilfe von mehr oder weniger komplexen Algorithmen abgeleitet werden. Ein Modell, mit dem sich zunächst jeder technische Analyst auseinandersetzt, ist das Capital Asset Pricing Model (CAPM). Dieses zentrale Modell der modernen Finanzmarkttheorie (auch Portfolio-Theorie) baut unter anderem auf der Annahme des Random Walk der Kursbewegungen auf. Random - Walk bezeichnet in der Mathematik eine Zufallsfolge, bei der jedes Element richtungsunabhängig, aber nicht ortsunabhängig, von den vorangegangenen Elementen ist. Auf die Kursentwicklung an den Finanzmärkten übertragen bedeutet dies, dass der Kursverlauf nicht durch die Entwicklung der Vergangenheit vorhergesagt werden kann. Die beste Schätzung der Kursrichtung von Morgen ist die Kursrichtung von Heute. An der Börse kann trotzdem auch mit Hilfe der Technischen Analyse Geld verdient werden. In der Theorie steht dem die Major-Trend-Theorie (Dow-Theorie) zur Seite. Ihr Erfinder Charles H.Dow hatte die Idee, dass sich die Finanzmärkte in Zyklen bewegen. Er geht davon aus, dass ein Index alle Informationen enthält, die für die weitere Entwicklung des Aktienmarktes wichtig sind. Das Studium anderer Quellen ist nicht notwendig. Die Trendtheorie basiert auf der Annahme, dass sich der Markt in Trends bewegt. Aufwärtstrend bezeichnet man als Bull Market, Abwärtstrend als Bear Markets. Wobei nach der Laufzeit eines Trends zwischen Primär-, Sekundär- und Tertiärtrend unterschieden wird. Ein Primärtrend dauert normalerweise mehrere Jahre, ein Sekundärtrend höchstens sechs Monate, ein Tertiärtrend maximal einen Monat. Je früher ein Trend erkannt wird, desto besser ist es für den Spekulanten und Investor, der mit dieser Information einen Profit sucht. In der Regel gibt es eine Vorbereitungszeit, meist eine wenig profitable Seitwärtsphase, bis es zum Trendstart kommt. Die Technische Analyse und Formationslehre versuchen nun, Trends an den Finanzmärkten frühzeitig zu erkennen. Für viele ist die Technische Analyse immer noch etwas Astrologie und Voodoo. Sie hat nie die gleiche Akzeptanz erreicht wie die Fundamentalanalyse. Die beste Fundamentalanalyse greift aber erst, wenn der Markt sie auch zur Kenntnis genommen hat und von ihr überzeugt ist. Dann beginnt der Markt zu kaufen oder zu verkaufen. Genau da setzt die Technische Analyse an. Sie versucht, die Psychologie am Markt zu erfassen. Dies erfolgt in der Regel über drei Zeithorizonte. Die Theorie geht davon aus, dass sich gewisse Formationen ständig wiederholen, was durch das typische Verhalten von Anlegern begründet wird. Am erfolgreichsten lassen sich Entwicklungen im kurz- und mittelfristigen Bereich technisch analysieren, während langfristige Erscheinungen nur bei ausgeprägten Formationen feststellbar sind. Entwicklungen über Jahre sind technisch kaum fassbar und daher Aufgabe der Fundamentalanalyse. Es gibt drei Grundannahmen, auf denen der technische Ansatz basiert: 1. Die Marktbewegung diskontiert alles 2. Kurse bewegen sich in Trends 3. Die Geschichte wiederholt sich selbst (1)Der Techniker glaubt, dass alles, was die Kurse beeinflussen kann - fundamental, politisch, psychologisch usw. - durch den Marktpreis aktuell wiedergespiegelt wird. Daraus folgt, dass nur die Untersuchung der Kursbewegung verlangt wird, sonst nichts. Der technische Analyst weiß, dass es Gründe dafür gibt, warum Märkte hoch oder runter gehen. Er oder sie glaubt nur nicht, dass das Wissen um diese Gründe bei der Prognose nötig ist. Am Anfang bedeutender Marktbewegungen erklären oder unterstützen die Fundamentaldaten üblicherweise nicht, was der Markt zu tun scheint. Eine Erklärung dafür liegt darin, dass Marktbewegungen dazu tendieren, den bekannten Fundamentals vorauszulaufen bzw. sich als Frühindikator der Fundamentals bzw. der momentan vorherrschenden Meinung zu verhalten. (2) Das Trendkonzept ist für den technischen Ansatz unentbehrlich. Ein Folgesatz der Prämisse, dass sich Kurse in Trends bewegen, besagt: Ein Trend in Bewegung setzt sich mit größerer Wahrscheinlichkeit fort, als dass er sich umkehrt. Anders ausgedrückt: Ein Trend in Bewegung verläuft solange in derselben Richtung bis er sich umkehrt. (3) Vieles bei der Technischen Analyse und dem Studium von Marktbewegungen hat mit dem Studium der menschlichen Psychologie zu tun. Bestimmte Muster z.B. Kursformationen offenbarten bis heute eine bullishe (steigende Kurse erwartet) oder bearische (fallende Kurse erwartet) Psychologie des Marktes. Weil diese Muster in der Vergangenheit funktioniert haben, wird angenommen, dass sie auch in der Zukunft weiterhin funktionieren werden. Sie basieren auf dem Studium der menschlichen Psyche, die nicht dazu tendiert, sich zu verändern. Der Schlüssel zum Verständnis der Zukunft liegt also um Studium der Vergangenheit oder die Zukunft ist nur eine Wiederholung der Vergangenheit. Kritikpunkte des technischen Ansatzes Einige Fragen tauchen praktisch in jeder Diskussion zur Technische Analyse auf: Ist die Chart-,Technische Analyse nicht eine sich selbst erfüllende Prophezeiung? Können aus Kursdaten der Vergangenheit wirklich für die Vorhersage zukünftiger Kursbewegungen genutzt werden? Die Anwendung der meisten Chartformen wurde in den letzten Jahren breit publiziert. Viele Trader sind mit diesen Formationen gut vertraut und könnten auf diese gemeinsam handeln. Dies bedingt eine „Self - Fullfilling - Prophecy", weil Wellen von Käufen oder Verkäufen als Antwort auf „bullishe" oder „bearishe" Formationen ausgelöst werden. Diese Idee ist so jedoch nicht zu halten, da Chartmuster immer ein Stück subjektiv sind und jeder Trader am Markt anders versucht auf Signale zu reagieren. Einige sind eher aggressiv, die anderen konservativ. Die einen nutzen Stops, während andere „bestens" oder „billigst" kaufen. Einige traden die langen Trends, andere schließen ihre Positionen regelmäßig am selben Tag. Auch die Geschwindigkeit, mit der Akteure am Markt agieren, ist recht unterschiedlich. Einigen stehen Realtimesysteme , anderen nur die Videotexttafeln des Fernsehers zur Verfügung. Welche Zufälligkeit von Kursbewegungen auch immer existiert; es ist wahrscheinlich ein Phänomen sehr kurzfristiger Zeitperioden. Das Beharrungsvermögen existierender Trends über lange Zeitperioden, in vielen Fällen Jahren, ist ein zwingendes Argument gegen die Anhänger der Random- Walk- Theorie, die behauptet, Kurse seien seriell unabhängig und Kursbewegungen der Vergangenheit hätten keinen Einfluss auf zukünftige Kursbewegungen. Anwendung der Technischen Analyse Die Anwendung der Technischen Analyse umfasst unterschiedliche Bereiche. Zunächst sollte zwischen Chartanalyse und der Indikatorenanalyse bzw. Markttechnik unterschieden werden. Die Chartanalyse versucht anhand der Chartdarstellung und in den enthaltenen Formationen, Trendlinien und Mustern, Entscheidungen zu treffen. Diese Methode ist sehr stark visuell basiert und lässt sich nur in komplizierten mathematischen Methoden beschreiben. Diese sind allerdings bis heute nur in sehr wenigen sehr teuren Programmen integriert und kaum exakt beschrieben. Vor allem hier ergeben sich sehr viele unterschiedliche Ansatzpunkte in der Interpretation, womit die Analystenmeinungen weit auseinander gehen können. Die Markttechnik dagegen basiert allein auf die Anwendung von exakt beschriebenen mathematischen und statistischen Algorithmen und Modellen auf Zahlen- bzw. Kursreihen. Die Algorithmen sind vorgegeben. Die Interpretationen jedoch sind mit einem nicht unerheblichen Interpretationsspielraum behaftet. Dies ist zum einen in den Auswirkungen unterschiedlicher Parametereinstellungen, wie auch dem Freiheitsgrad der Signalgebung durch die Indikatoren begründet. Dazu später aber mehr. Im Vergleich wird oft von einer subjektiven Charttechnik und einer objektiven Markttechnik gesprochen. Beide Verfahren gründen sich auf einen Teil exakt beschriebener Vorschriften (objektiver Methoden) und einen Teil vom Anwender frei gewählte subjektiver Interpretationen. Die Analyseanteile sind unter Verwendung eines entsprechenden Regelwerkes schnell in Richtung objektiver Analyse zu verschieben. Neben diesen Teilbereichen ist eine weitere Einteilung in Zyklentechniken und Sentimenttechniken möglich. Im Rahmen der Zyklentechnik wird nach einem Zyklus bzw. einem Muster in der zugrundeliegenden Kursentwicklung gesucht, die dann ansatzweise in die Zukunft fortgeschrieben werden kann. Innerhalb der Sentimenttechnik wird versucht, die „Stimmung" des Marktes zu messen, die hinter einer Kursentwicklung steht. Es wird damit die „psychologische Qualität" des bestehenden Preisniveaus und damit die Quantifizierung von Euphorie und Angst gemessen. Chartanalyse Für die traditionellen Chart-Analysten ist der Chart nicht nur das primäre, sondern das einzige Werkzeug. An den Charts selbst werden Trendlinien bzw. Formationen konstruiert. Der Analyst interpretiert ausschließlich die Verletzung bzw. das Herausbilden dieser von ihm konstruierten Chartmuster und handelt dementsprechend. Im Rahmen dieser Arbeit wird nur auf einen besonders zuverlässiger Teil der Chartanaylse eingegangen, die sogenannten Candlesticks bzw. deren Formationserkennung. Auf andere Verfahren und deren Erkennung wird nicht eingegangen. Markttechnik Die Markttechnik ist eine auf mathematisch erfassbaren Modellen aufbauende Technik der Aktienanalyse. Das Thema ist sehr komplex und kann hier nur soweit dargestellt werden, wie es zum Verständnis der Arbeit notwendig ist. Nachfolgend wird eine Übersicht der in „Shareholder" nutzbaren Indikatoren und deren Einordnung in Indikatorengruppen gegeben. Es ist wichtig anzuerkennen, dass Aktienkurse sich zunächst immer in drei möglichen Trends bewegen. Dies kann ein Abwärts-, Aufwärts- oder Seitwärtstrend sein. Die Anwendung der Indikatoren, auch der Chartformationen, erfolgt immer auf Basis des festgestellten Trends. Es gibt einige Indikatoren, die die Festlegung des aktuell bestehenden Trends versuchen. In Anwendung dieser Indikatorenergebnisse, der sogenannten Trendbestimmungsindikatoren, erfolgt dann bei vorliegendem Abwärts- oder Aufwärtstrend die Analyse mit Hilfe von Trendfolgeindikatoren. Allein in Seitwärtsphasen und zur Unterstützung der anderen Analysen erfolgt die Nutzung der Momentum Oszillatoren. Die Volatilitätsindikatoren werden zur Plausibilitätsprüfung und Entscheidungsunterstützung der Ergebnisse genutzt. Auf die mathematische Beschreibung und Interpretation der einzelnen Indikatoren wird über die Kontextsensitive Hilfe in „Shareholder" eingegangen. An dieser Stelle wird auf die Verwendung entsprechender Literatur verwiesen. Interpretation der Umsätze Das Umsatzniveau (Anzahl der gehandelten Aktien während der betrachteten Zeitperiode) misst die Intensität oder Dringlichkeit hinter einer Preisbewegung. Der technische Analyst kann hinter einer Marktbewegung stehenden Kauf- oder Verkaufsdruck abschätzen, indem er die Höhe der Umsätze gemeinsam mit der Kursbewegung verfolgt. Die Umsätze sollten in Richtung des existierenden Kurstrendes zunehmen. Erfolgt eine Aufwärtsbewegung bei fallenden Umsätzen, sollte dies als Warnung vor abnehmendem Kaufdruck im Aufwärtstrend verstanden werden. Bei der gemeinsamen Beobachtung von Kursen und Umsätzen werden zwei unterschiedliche Werkzeuge benutzt, um dasselbe zu messen - den Druck. Allein aus der Tatsache, dass die Kurse nach oben tendieren, erkennt man, dass es mehr Kauf- als Verkaufsdruck gibt. Höhere Umsätze sollten in der selben Richtung verlaufen wie der vorherrschende Kurstrend. Die Umsätze spielen daher in jeder Technischen Analyse eine große Rolle und dürfen nicht vernachlässigt werden. Trendfolgeindikatoren Das Trendkonzept ist für den technischen Ansatz der Marktanalyse absolut notwendig. All die Hilfsmittel, die der technische Analyst im Bereich der Trendfolgeindikatoren misst, haben die einzige Aufgabe, bei der Bestimmung des Markttrendes zu helfen, um an diesem Trend zu partizipieren. Ein Markttrend wird dabei durch die Richtung der Gipfel und Täler konstituiert. Ein Aufwärtstrend wird demnach als eine Serie sukzessive höherer Gipfel und Täler definiert; ein Abwärtstrend durch eine Serie niedriger Gipfel und Täler; gleich hohe Gipfel und Täler identifizieren einen trendlosen Markt (Seitwärtsbewegung). Ein Trendfolgesystem benötigt nach seiner Definition immer einen Trend. In trendlosen Phasen werden diese Indikatoren versagen. Zusätzlich zu der Richtung eines Trends lässt sich die Klassifikation auch nach der Zeitdimension, in der sich ein Trend bewegt, vornehmen. Nach der Dow Theorie gibt es: primären Trend (übergeordneten), der über ein Jahr dauert mittelfristigen-/ sekundären Trend, der in der Urtheorie länger als drei Wochen einzuordnen andauert kurzfristigen Trendbewegungen von wenigen Tagen oder Stunden Ein Trend ist immer Teil eines längeren übergeordneten Trends. Man spricht daher auch von übergeordneten und untergeordneten Trends. Trendfolgeindikatoren sind darauf ausgerichtet, die vorherrschende Trendrichtung anzuzeigen. Ein bestimmter Trend hat solange Gültigkeit, bis ein Trendfolgeindikator eine Änderung anzeigt. Da sie meist eine Glättungskomponente enthalten, die kleinere Kursausschläge herausfiltert, müssen die Kurse schon größere Bewegungen absolvieren, bevor sich ein „Trendfolger" dreht. Die Indikatorwerte verlaufen mit einer zeitlichen Verzögerung zu den Kursen und generieren die Signale entsprechend verspätet. Gleitende Durchschnitte (GD): Dieser mit Abstand bekannteste technische Indikator berechnet revolvierend den Durchschnittskurs der letzten Börsentage. Es wird eine gleitende Trendlinie gebildet, die in Abhängigkeit von der Anzahl der gewählten Tage mit zeitlicher Verzögerung dem Kursverlauf folgt. Ausgehend von der Annahme, dass die weiter zurückliegenden Kurse weniger Einfluss auf den aktuellen Kurs des Wertpapiers haben, kann man die einzelnen zur Durchschnittsbildung herangezogenen Kurse gewichten: linear, geometrisch oder expotentiell. Der GD kann als einfaches System für Kauf- und Verkaufsentscheidungen dienen, wobei jeweils die Überkreuzungslinie des Gleitenden Durchschnitt und der Kurslinie als Signal gewertet wird. In Trendmärkten können so mit Hilfe weiterer Indikatoren durchaus gute Ergebnisse erzielt werden. Es ist darauf hinzuweisen, dass die Analyse der Durchschnitte allein kein ausreichender Grund für eine Kauf- oder Verkaufsentscheidung sein kann. Obwohl mehrfach nachgewiesen wurde, dass es keine Kombinationen gibt, die an den Börsen langfristig und kontinuierlich erfolgreich ist, gibt es immer noch Leute, die sich allein auf die Anwendung und Interpretation von GD verlassen. GD's sollte man nur in Verbindung mit anderen Indikatoren oder „Price Pattern" einsetzen! Momentum-Oszillatoren Der Begriff „Oszillation" kommt ursprünglich aus dem Bereich der Elektrotechnik und steht für Schwingung bzw. regelmäßiges Hin- und Herschwingen. Das Momentum stellt die Schwungkraft des Marktes dar. Aufgrund ihrer Berechnungsart werden fast alle Momentum -Oszillatoren innerhalb einer bestimmten Bandbreite formalisiert. Sie schwingen entweder um eine Nullachse oder innerhalb eines Prozentbandes. Sobald Oszillatoren sich in ihren Extrembereichen aufhalten, deutet dies auf eine Überhitzung der bisherigen Marktgeschehnisse hin. Da sie aus den Extremzonen wieder zurücklaufen, sobald die Schwungkraft des Marktes nachlässt, die Kurse i.d.R. aber den Trend noch etwas beibehalten, laufen sie der tatsächlichen Kursentwicklung voraus. Die Zyklusindikatoren werden in Börsenberichten häufig mit Worten wie überhitzt, überkauft, ruhig, widerstandsfähig usw. beschrieben und deuten darauf hin, dass diese damit zur Analyse des Stimmungsbildes des Marktes genutzt werden. Trendbestimmungsindikatoren Die Hauptfrage, die sich alle Analysten und Händler stellen, ist ob ein Trend oder eine Seitwärtsbewegung vorliegt. Von der Beantwortung dieser Frage hängt der Erfolg der unterschiedlichen Analysteninstrumente und Handelsstrategien ab. Trendbestimmungsindikatoren sollen keine Kaufoder Verkaufssignale liefern, sondern lediglich als Filter für die Auswahl anderer Instrumente dienen. Liegt ein Trend vor, dann bieten sich Trendfolgeindikatoren, trendkonforme Signale der Oszillatoren und Breakout -Verfahren an. Die Aufgabe der Trendbestimmungs-Indikatoren liegt darin, die „Gesundheit" des Gesamtmarktes durch Messung der Marktbreite zu bestimmen. Die in ihren Formeln benutzten Daten sind steigende gegen fallende Werte, neue Hochs gegen neue Tiefs und Aufwärtsvolumen gegen Abwärtsvolumen. Als Grundlagen vieler Berechnungen der Trendbestimmungsindikatoren dient die „directionale Bewegung". Dabei gelten zunächst folgende Zusammenhänge: +DM: Differenz zwischen den beiden Höchstkursen wird als „postive directional movement" bezeichnet -DM: Differenz zwischen den beiden Tiefstkursen ist das „negative directional movement" Tage, an denen kein neuer Höchstkurs/ Tiefstkurs ausgebildet werden kann, die sogenannten „inside days", werden in Berechnungen nicht berücksichtigt, da sie keine Relevanz für eine directionale Bewegung haben. Die eigentliche Berechnung der beiden „Directional Indicators" erfolgt mit: Die True-Range wird oft verwendet und zeigt die maximale auftretende Schwungkraft innerhalb von zwei Tagen. Verglichen werden sowohl die Schlusskurse mit den Tiefstkursen des Tages, als auch die Höchstkurse/Tiefstkurse mit den Schlusskursen des vorherigen Tages. Volatiliäts-Indikatoren Die Volatilität ist eine Kennzahl für die Schwankungsintensität eines Marktes. Da sich die Märkte zwischen ruhigen und volatilen Phasen ständig hin- und herbewegen, ist deren Quantifizierung nötig. Volatilitätsindikatoren messen den Stand der aktuellen Schwankungsintensität, um daraus die Entwicklung der zukünftigen Elastizität eines Marktes bestimmen zu können. Ausgangspunkt jeder dynamischen Betrachtung des Börsengeschehens sind die individual- und massenpsychologischen Prozesse der Marktteilnehmer. Der massenpsychologische Effekt beginnt an dem Punkt, wo sich immer mehr Börsenakteure einer bestimmten Auffassung anschließen und ihre Handelsaktivitäten entsprechend konzentrieren. Das emotionale Engagement steigt parallel zur Dynamik der Kursentwicklung, wobei die Elemente der gegenseitigen Ansteckung zum Tragen kommen. Nach und nach drückt sich die einseitig ausgerichtete Erwartungshaltung in dynamischen Trendphasen aus. Ergreift die Börsenstimmung von der großen Masse der Anleger Besitz, kann es zu erheblichen Ausschlägen kommen. Mit zunehmender Dauer einer Kursbewegung kommen den Investoren jedoch zunehmend Zweifel, da die Plausibilität bisheriger Argumente abnimmt. Es bilden sich regressive Erwartungen, die zu einem Ende der vorherigen Bewegung und Trendrichtungsdynamik führen. Candlesticks Grundlagen Candlesticks, die japanischen Kerzencharts, stellen eine besondere Chartdarstellungstechnik dar. Diese exotische, aber keinesfalls neue Variante, wurde in Japan des 16. Jahrhunderts entwickelt und repräsentiert den vermutlich ältesten Technischen Analyseansatz. Candlesticks enthalten als Kurskomponenten den Hoch-, Tief-, Eröffnungs- und Schlusskurs. Die Darstellungsform ist für beliebige Zeiträume, in denen Kursdaten ermittelt werden können (Hoch,Tief usw.), möglich. Es existieren hier sowohl Darstellungsformen für die tägliche, wöchentliche oder monatliche Darstellung. Candlestick -Darstellung Ein Kerzenkörper enthält alle relevanten Informationen des zugrundeliegenden Zeitabschnittes. Die Kerze besteht dabei immer aus einem Kerzenkörper, der Differenz von (Close-Open), und dem Schatten bzw. Docht ober- und unterhalb des Kerzenkörpers. Der Körper wird, wenn der Schlusskurses (Close) kleiner als der Eröffnungskurs (Open) ist, rot gezeichnet. Ist die Differenz von Close und Open dagegen positiv, so wird der Körper Grün gezeichnet. Der Kurs befindet sich damit am Ende des Zeitabschnittes höher als zu Beginn. Der Opening- oder Closingkurs ist dabei entweder am oberen oder unteren Ende des Kerzenkörpers zu finden. Grundsätzlich können Candlesticks nach den in der Charttechnik bekannten Regeln untersucht werden, d.h. es gibt ebenso Trendkanäle, Widerstände und Unterstützungen. Daneben gelten jedoch auch einige anerkannte Muster, in denen die einzelnen Candlesticks bzw. deren Formationsgruppen interpretiert werden. Im Programm-Modell ist eine Formationserkennung für Candlesticks integriert. Diese erkennt wichtige Patterns und gibt sie dem neuronales Kursprognosenetz als Eingabedaten weiter. Markante und zugleich zuverlässige Muster (Pattern) werden näher beschrieben. Einige Formationen tauchen nur selten auf und sind manuell nur mit Übung zu erkennen. Die Formationserkennung des jeweiligen Patterns wurde aus praktischen Gründen vor dieser Beschreibung integriert. Die Screenshots sind entsprechend vom Programm heraus gemacht. Bullische Formationen erklären Kursmuster, die auf einen steigenden Kurs hindeuten und entsprechend lassen bearishe Formationen auf fallende Kurse spekulieren. Beschäftigt man sich mit der Technik der japanischen Kerzencharts näher, erkennt man schnell deren Zuverlässigkeit und deren Nutzen. Im Projektmodell „Shareholder" ist daher die Patterntechnik soweit ausgebaut, dass zur Zeit mehr als 15 Muster erkannt werden können. Es ist wichtig zu verstehen, dass Candlesticks die Kraft zwischen den Bullen und Bären messen und ein sehr gutes Hilfsmittel darstellen, um die Psychologie und Marktstärke zu messen. Für das Neuronale Kursprognose-Netz werden die Daten eine Basis darstellen, insbesondere für die sehr kurzfristige Kursprognose Folgende Muster werden zugeordnet und erkannt: Name Signalstärke Einordnung Anzahl Kerzen Bestätigung Abandoned Baby ++++++ Positiv / Negativ Umkehrformation 3 Nicht nötig Advance Block +++ Negativ Umkehrformation 3 Wird vorgeschlagen Belt Hold + Positiv / Negativ Umkehrformation 1 Nötig Breakaway +++ Positiv / Negativ Umkehrformation 5 Wird vorgeschlagen Concealing Baby Swallow + + Positiv Umkehrformation 4 Nötig Dark Cloud Cover ++++ Negativ Umkehrformation 2 Nicht nötig Deliberation ++ Negativ Umkehrformation 3 Nötig Doji Star + Positiv / Negativ Umkehrformation 2 Wird vorgeschlagen Downside Gap Three M. ++ Negativ Trendbestätigend 3 Wird vorgeschlagen Downside Tasuki Gap ++ Negativ Trendbestätigend 3 Wird vorgeschlagen Engulfing ++++ Poitiv / Negativ Umkehrformation 2 Wird vorgeschlagen Evening Doji Star +++++ Negativ Umkehrformation 3 Nicht nötig Evening Star ++++ Negativ Umkehrformation 3 Nicht nötig Falling Three Methods ++++ Negativ Trendbestätigend 5 Nicht nötig Gravestone doji ++ Negativ Umkehrformation 1 Wird vorgeschlagen Hammer ++ Positiv Umkehrformation 1 Nötig Hanging Man + Negativ Umkehrformation 1 Nötig Homing Pigeon +++ Positiv Umkehrformation 2 Wird vorgeschlagen Harami +++ Positiv / Negativ Umkehrformation 2 Wird vorgeschlagen Harami Cross ++++ Positiv / Negativ Umkehrformation 2 Wird vorgeschlagen Identical Three Crows +++++ Negativ Umkehrformation 3 Nicht nötig In Neck Line ++ Negativ Trendbestätigend 2 Wird vorgeschlagen Inverted Hammer + Positiv Umkehrformation 1 Nötig Kicking +++ Positiv / Negativ Umkehrformation 2 Nicht nötig Ladder Bottom +++ Positiv Umkehrformation 5 Wird vorgeschlagen Matching Low ++ Positiv Umkehrformation 2 Wird vorgeschlagen Mat Hold +++++ Positiv Trendbestätigend 5 Nicht nötig Meeting Lines ++ Positiv / Negativ Umkehrformation 2 Wird vorgeschlagen Morning Doji Star +++++ Positiv Umkehrformation 3 Nicht nötig Morning Star ++++ Positiv Umkehrformation 3 Nicht nötig On Neck Line ++ Negativ Trendbestätigend 2 Wird vorgeschlagen Piercing Line ++++ Positiv Umkehrformation 2 Nicht nötig Rising Three Methods ++++ Positiv Trendbestätigend 5 Nicht nötig Separating Lines +++ Positiv / Negativ Trendbestätigend 2 Nötig Side-by-Side White L. ++++ Positiv / Negativ Trendbestätigend 3 Nicht nötig Stick Sandwich +++ Positiv Umkehrformation 3 Wird vorgeschlagen Shooting Star + Negativ/ Umkehrformation 1 Nötig Three Black Crows +++++ Negativ Umkehrformation 3 Nicht nötig Three Inside Up/Down +++++ Positiv / Negativ Umkehrformation 3 Nicht nötig Three Line Stike + Positiv / Negativ Trendbestätigend 4 Nötig Three Outside Up/Down ++++++ Positiv / Negativ Umkehrformation 3 Nicht nötig Three Stars in the South ++++ Positiv Umkehrformation 3 Wird vorgeschlagen Three White Soldiers +++++ Positiv Umkehrformation 3 Nicht nötig Thrusting Line + Negativ Trendbestätigend 2 Nötig Tri Star ++++ Positiv / Negativ Umkehrformation 3 Wird vorgeschlagen Two Crows +++ Negativ Umkehrformation 3 Wird vorgeschlagen Unique Three River ++++ Positiv Umkehrformation 3 Wird vorgeschlagen Upside Gap Three Meth. ++ Positiv Trendbestätigend 3 Wird vorgeschlagen Upside Gap Two Crows ++++ Negativ Umkehrformation 3 Wird vorgeschlagen Upside Tasuki Gap + Positiv Trendbestätigend 3 Nötig Siehe auch: Erkennbare Muster aus einer Kerze Erkennbare Muster aus zwei Kerzen Erkennbare Muster aus drei Kerzen Erkennbare Muster aus vier und mehr Kerzen Indikator - Candlestickformationen Momentum-Oszillatoren Indikator - RSI Formel RSI = Der Indikator zeigt die innere Stärke einer Kursbewegung. Der RSI berechnet ein Verhältnis von Aufwärts- und Abwärtsschlusskursen über eine bestimmte Zeitperiode. Pro&Contro Bei der Suche nach Divergenzen kann der Indiaktor behilflich sein. Die Standardeinstellung von 14 Tagen sollte nicht verwendet werden, da der Indikator dann viel zu wenige saubere Signale lifert. Interpretation Bei einem RSI von über 70 gilt der analysierte Titel als überkauft, bei unter 30 als überverkauft, weshalb man mit einer Gegenreaktion rechnen kann, sobald der RSI diese Zonen wieder in die jeweils andere Richtung verlässt. Die Tops und Tiefpunkte des RSI in den Extremzonen kristallisieren sich frühzeitiger heraus als die des Basistitels. Indikator - Stochastik Formel Fast Stochastik %K = Triggerlinie %D = i.d.R. ein 3er-, 5er-, oder 8er-GD von %K Slow Stochastik = Ausgangspunkt Ausgangspunkt ist die Beobachtung, dass sich in einer Phase steigender Kurse die Schlusskurse am oberen Rand der Trading Range befinden und umgekehrt. Der Stochastik-Oszillator ist darauf ausgerichtet, die Differenz zwischen dem heutigen Schlusskurs und dem Periodentief mit der Handelsspanne (High/Low) des Betrachtungszeitraumes zu vergleichen. Das Resultat wird auf einer Skala zwischen 0..100 als Zwei-Linien-Modell dargestellt (%K Linie und deren Gleitender Durchschnitt %D). Bei einem Slow-Stochastik handelt es sich um eine geglättete Variante. Pro&Contro In Märkten, die wellenähnliche Strukturen aufweisen, erwischt man mit dem Stochastik-Oszillator fast jeden Hoch-und Tiefpunkt. In Trendmärkten gibt er recht gute Signale in Richtungs des Trends Die Standardeinstellungen sind kaum zu gebrauchen (20/80 Lebel) Interpretation Ein Wert von 100% zeigt, dass der aktuelle Schlusskurs dem höchsten Kurs der Periode entpsricht. Stochastik-Werte oberhalb von 80% definieren einen überkauften Zustand unterhalb von 20% einen überverkauften Status der Kurse. Signale werden entweder generiert, wenn der Stochastik-Oszillator seine Triggerlinie %D kreuzt oder die Extremzonen (20/80) wieder in die jeweils andere Richtung verlassen wird. Indikator - Chaikin Formel ROC10 (MA10 (High-Low)) Bei diesem Indikator wird die Volatilität an einer sich ausweitenden Handelsspanne zwischen dem Höchst- und dem Tiefskurse eines Tages definiert. Pro&Contra In volatilen Märkten bietet der Indikator wertvolle Hilfe um den Markt einzuschätzen In langanhaltenden Trendphasen sowie in relativ flach verlaufenden Seitwärtsmärkten fehlt ihm die Signaldeutlichkeit Interpretation Ein Steiler Anstieg zeigt dass bald mit einer Bodenbildungsphase gerechnet werden kann. Ein Rückgang des Indikators, der sich über einen längeren Zeitraum erstreckt, deutet auf eine bevorstehende Topbildung hin. Bodenbildungen des Indikators im negativen Bereich deuten auf mögliche Ausbruchbewegungen aus einer Range hin, die oftmals den Beginn einer Trendphase einleiten. Hinweis: In Shareholder wird eine modifizierte Version verwendet, die allerdings an das Orginalllerdings an das Orginal angelehnt ist. Indikator - Double Smoothed Stochastik "DsSt" Formel Beim DSS werden die Komponenten der ursprünglichen Stochastik-Formel jeweils durch zwei Exponentiell Geglättete GD gesmoothed. Pro&Contro Sehr gute Signalausprägung Häufige gute trendkonforme Signale Bei sehr flach verlaufenden Seitwärtsmärkten treten auch hier Fehlsignale auf Interpretation Ein Wert von 100% zeigt , dass der aktuelle Schlusskurs dem höchsten Kurs der Periode entspricht. Werte oberhalb von 70% / 80 % definieren bei der Standardinterpretation einen überkauften Zustand, unterhalb 30% oder 20% einen überverkauften Status der Kurse. Signale werden generiert, wenn die Mittellinie gekreuzt wird oder die Extremzonen wieder in die jeweils andere Richtung verlassen werden. Signale werden generiert, wenn der DSS seine Mittellinie kreuzt oder die Extremzonen wieder in die jeweils andere Richtung verlassen wird. Indikator - Momentum Formel Mom = (Kurs- Kurs n-Tage) x100 ROC = Das Momentum misst die Schwungkraft eines Marktes bzw. die Stärke einer Kursbewegung. Dem Indikator liegt die Erkenntnis zugrunde, dass sich Kursbewegungen eines Marktes vor einer möglichen Trendumkehr bzw. Korrektur erst abschwächen. Oftmals findet man das Momentum auch als ROC (Rate of Change). Hierbei dividiert man die beiden Kurse und multipliziert den Quotienten mit Faktor 100. Pro&Contro Der Bruch der Mittellinie erfolgt in volatilen Seitwärtsmärkten oftmals am Top oder am Tief einer Kursbewegung Berechnungsart beim Mom weist den Nachteil auf, stark vom zugrundeliegendem Wert abhängig zu sein. Es können keine Vergleiche zwischen 2 Werten vorgenommen werden Der Indikator basisiert nur auf den Vergleich von 2 Kursen. Wichtige Kursmuster aus dem Zeitraum zwischen den beiden Schlusskursen bleiben unberücksichtigt. Interpretation Der Indiaktor bildet die Dynamik ab, den die Kursbewegung zur Zeit besitzt, indem der Tageskurs in Beziehung zu einem historischen Kurs gesetzt wird. Neue Höchstkurse sollten dabei mit gleich hohen Spitzen im Momentum einhergehen. Liegt hier eine Divergenz vor, so sind immer weniger Anleger bereit, zu immer höheren Kursen einzusteigen. Im Einzelnen heisst dies: Ein steigendes Momentum unterhalb der Mittellinie wird durch eine Verringerung der Abstände der beiden Schlusskurse verursacht und steht für ein Nachlassen der Abwärtsbewegung. Bei einem steigenden Momentum oberhalb der Mittellinie liegt der Schlusskurs über dem von vor n-Tagen. Je stärker das Momentum steigt, desto dynamischer ist der Aufwärtstrend. Je höher er dabei gestiegen ist, desto „überkaufter" sollte der Markt sein. Ein fallendes Momentum oberhalb der Mittellinie warnt vor einer möglichen Korrektur der Kurse. Indikator - Coppock Einführung Der Coppock Indikator, entwickelt von Edwin Coppock, basiert auf dem Momentum und dem GD. Er dient zum Erkennen langfristiger (mehrjähriger) Trends, für kurzfristige Trends ist er nicht zu gebrauchen. Eine gebräuchliche Abkürzung existiert nicht. Aussage Der Coppock misst langfristige Trends, in dem zwei langfristige Momentums addiert werden. Auf Basis dieser Summe wird ein gewichteter GD gebildet. Da die Basis des Indikators vom Momentum gebildet wird, oszilliert auch der Coppock um die Nulllinie. Formel/Berechnung Coppock = WMAx (ROCy + ROCz) WMA = Weighted Moving Average (gleitender Durchschnitt, gewichtet) Interpretation Der Coppock wird auf zwei verschiedene Weisen interpretiert. Bei der Standardinterpretation ist die Drehung der Linie oberhalb der Nulllinie nach unten als Verkaufsignal, die Drehung der Linie unterhalb der Nulllinie nach oben als Kaufsignal zu sehen. Eine weitere Interpretationsöglichkeit besteht darin, auf Basis des Coppocks einen weiteren, langfristigen GD zu bilden. Der Schnitt des GDs mit dem Coppock wird in diesem Fall als Signal bewertet. Indikator - Money Flow Index "MFI" Einführung Der Money Flow Index bezieht neben den eigentlichen Kursen auch noch die Umsätze in die Berechnung ein. Er stellt eine Art Umsatz-Momentum dar. Die typische Abkürzung lautet MFI. Aussage Der MFI basiert auf der Idee, dass in einen Titel investiert wird, wenn der Wert in der Nähe des Tageshochs schließt. Wenn der Schlusskurs in der Nähe des Tagestiefs liegt, wird dem Titel Geld entzogen. Die Berechnung erfolgt auf Basis des sogenannten "Typischen Preises", den wir beim Commodity Channel Index eingeführt haben. Ist der aktuelle Preis höher als der gestrige, spricht man von einem positiven Geldfluss (Money Flow). Liegt der aktuelle Preis niedriger, spricht man von einem negativen Money Flow. Auf Basis dieser beiden Zahlen wird das Money-Ratio gebildet. Am Schluss wird dieses Ratio normiert, um eine besser zu interpretierende Darstellung zu erhalten. Durch die Normierung schwankt der MFI immer um die 50er Linie mit dem Maximum 100 und dem Minimum 0. Formel/Berechnung: Interpretation Aufgrund seiner Berechnung steigt der MFI bei steigenden Kursen an, bei fallenden Kursen fällt er. Da neben den Kursen auch die Umsätze eine Rolle spielen, deuten starke Bewegungen im MFI immer auf besonders hohe Umsätze oder sehr starke Kursveränderungen zum Vortag hin. Als Standardsignal wird das Kreuzen mit der 50er Linie gedeutet. Ein Durchbruch von unten nach oben liefert ein Kaufsignal, ein Durchbruch von oben nach unten ein Verkaufsignal. Alternativ kann man auch einen Gleitenden Durchschnitt über den MFI legen und die Schnitte zwischen GD und MFI als Signale interpretieren, ähnlich wie beim MACD. Neben dieser Interpretation benutzen viele Analysten auch Divergenzen zwischen Basiswert und MFI zur Signalgenerierung. Steigt der Kurs noch weiter an, fällt der MFI bereits, ist mit einem baldigen Ende der Aufwärtsbewegung zu rechnen. Gleiches gilt auf umgekehrte Weise bei noch fallenden Kursen und steigendem MFI. Standardeinstellung: 20 Tage siehe auch Volumen Price Trend Indikator - Price and Volume Trend "PVT" Beschreibung Der Indikator ist eine Weiterentwicklung des OBV. Wie beim OBV wird der Umsatz kumuliert (Addition bei Kursanstieg, Subtraktion bei Kursabfall), der Umsatz wird jedoch mit der prozentuellen Änderung gewichtet. Das heißt, der Umsatz bei einer großen Kursänderung wird stärker berücksichtigt. Berechnung Die Berechnung erfolgt nach folgender Formel: C..... Schlusskurs CVortag..... Schlusskurs des Vortages Anwendung Divergenzen zwischen PVT und Aktie deuten auf eine bevorstehende Trendwende hin. Siehe auch: OBV (On Balance Volume) Positive Volume Index (PVI) Negative Volume Index (NVI) Indikator - RSL Trendbestimmungsindikatoren Indikator - MA - Gleitende Durchschnitte Indikator - Bollinger Unknown macro: {math} sqrt(x-y^2) Indikator - Random Walk Index "RWI" Hintergrund Der RWI basiert auf der Annahme, dass ein bestimmter Teil der Kursbewegungen rein zufällig auftreten. Die erwartete durchschnittliche Abweichung der Zufälligkeit ist dabei vergleichbar mit der Multiplikation der durchschnittlichen Preis-Range mit der Wurzel aus der Anzahl von Zeiteinheiten. Der RWI besteht aus 2 Indikatoren, dem RWI_Up (grün) und dem RWI_Down(rot) Pro&Contro Hohe Reaktionsgeschwindigkeit Verlaufsmuster enthält zusätzliche Informationen für Reentry und Exit-Signale Sehr volatiler Indiaktor Interpretation Je höher der RWI steigt, desto weiter weichen die Kurse zwar von dem ab, was statistisch betrachtet zu erwarten wäre, desto stärker ist aber auch die Trendkomponente des Marktes. Da die Kurse immer wieder zu einem relativen Mittelwert zurücklaufen, signalisiert ein hoher RWI-Wert ein mögliches Ende der bisherigen Bewegung. Wenn RWI_Up über dem RWI_Down verläuft, liegt ein eher aufwärtsgerichteter Markt vor, ansonsten ein abwärtsgerichteter. Ein Crossover der beiden Linien signalisiert eine Trendwende. Der RWI-Level, ab dem ein Trend angenommen werden kann, liegt je nach Markt zwischen 1.0 und 1.5 Indikator - AROON Formel Dabei werden die Tage gemessen, die seit dem letzten Hoch oder Tief am Markt vergangen sind. Diese Werte werden von einem AROON_Up und einem AROON_Down gemessen. Pro&Contro Geradliniger Kurvenverlauf Standort und Verhalten des unteren Indikator für Zusatzinformationen genutzt werden Es wird lediglich die zeitliche Komponenten genutzt, nicht aber die Preisentwicklung Interpretation Ein Abwärtstrend wird angezeigt, wenn der AROON_Down (rot) über dem AROON_Up (grün) und umgekehrt. Ein Crossover der beiden Indiaktoren zeigt ein möglichen Trendwechsel. Je höher der AROON, desto kontinuierlicher bewegt sich ein Trend. Es wird nicht die preisliche Trendstärke gemessen, sondern die Anzahl der Tage, die der Trend nun schon enthält. Je gleichmäßiger einer der beiden Indikatoren im oberen Bereich verläuft, desto eindeutiger ist der jeweilige Trend. Trendlose Phasen werden angezeigt, wenn sich keine der beiden Indiaktoren im oberen Bereich aufhält. Indikator - TRWinkel Berechnung Der Indikator ist recht einfach und basiert auf: Gleitender Durchschnitt auf alle Highs als Trigger Gleitender Durchschnitt auf alle Lows als Trigger Annahme Wenn ein Wert steigt, so hat er im Normalfall auch steigende Highs innerhalb einer Periode. Ebenso steigen auch die Lows. Schneiden sich die beiden Kurven, so könnte eine Trendwende eingeleitet werden. Indikator - Dynamic Momentum Index "DMI" und "ADX" DMI Bedeutung Er stellt um den Faktor Volatilität erweiterten RSI Indikator von Wilder dar, wobei die Volatilität durch das Verhältnis einer 5 tägigen Standardabweichung zu dem 10 tägigen Durchschnitt einer 5 tägigen Standardabweichung. Un ruhigen Marktphasen verwendet der DMI dadurch größere Periodenlängen und in volatilen Märkten kleinere. Pro&Contro Er reagiert präziser und eindeutiger als andere VI Viele Haken, die ihn anfällig für Fehlinterpretationen macht ADX Formel ADX = MA14 (DMI) ADXR = MA14 (ADX) Bei einem ADX handelt es sich um einen Gleitenden Durchschnitt des DMI-Indikators. Er bestimmt zwar die Trendintensitiät aber nicht die Trendrichtung. Pro&Contro Im Zusammenspiel mit anderen Inidkatoren sehr wertvoll als Trendfilter Seine Stärken kommen bei einem systematischen Ansatz zum Tragen. Da der ADX mit meheren Glättungskomponenten arbeitet, ist er recht langsam. Interpretation Ein ansteigender ADX steht für ein sich verstärkende Trendintensität, während ein fallendender ADX eine nachlassende Trendinstensität anzeigt. Oftmals verharren die Kurse dann in Seitwärtsphasen. Ein Abdrehen Indikator - RAVI Formel Der RAVI definiert sich über den absoluten Wert der prozentualen Differenz zwischen den beiden gleitenden Durchschnitten. Pro&Contro Er reagiert schneller als der ADX Er zeigt deutlichere Verlaufsmuster als der ADX Plötzliche Trendwechsel werden nicht als neue Trenddynamik angezeigt (steigender Verlauf) sondern oft mit einem fallenden Verlauf, da sich scheinbar Kurse gegenseitig neutralisieren. Interpretation Bei der 7/65 Konstellation gilt ein Markt als Trendmarkt, wenn der RAVI Wert über 3% liegt. Ein Range-Markt weist dagegen einen Ravi-Wert von unter 3% auf. Erreicht der RAVI ein Top und dreht dann wieder nach unten, sollte ein Trendmarkt beendet sein, zumindestens aber eine Pause einlegen. Je höher der RAVI, desto stärker ist der Trend. Sollte der RAVI unter 1% fallen, dann hat der Markt bereits eine längere Phase der Trendlosigkeit hinter sich. In diesen Fällen ist mit dem baldigen Beginn eines neuen Trends bzw. mit einem Breakout der Kurse aus ihrer Range zu rechnen. Trendfolger Indikator - Parabolic SAR "PSAR" Einführung Welles Wilder entwickelte den Parabolic SAR (PSAR) um eine Stop-Marke herum. Neben der Stop-Marke werden die Preisentwicklung und die Zeit in den Indikator eingearbeitet. Aussage Der PSAR befindet sich ständig im Markt, das bedeutet, dass bei jedem Schnitt des PSAR mit dem Kursverlauf ein Handelssignal ausgelöst wird. Bitte beachten Sie, dass der PSAR eine gewisse "Einlaufzeit" benötigt und daher die ersten Signale ignoriert werden sollen. Formel/Berechnung EP = Extremkurs AF = Beschleunigungsfaktor Interpretation Der PSAR schwankt immer um den eigentlichen Kursverlauf. Bei Ausbildung eines Trends nähert sich der PSAR dem Kursverlauf immer mehr an, ein Schnitt des PSAR mit dem Kursverlauf löst dann schließlich das Signal aus. Der PSAR funktioniert in erster Linie in sehr starken Trendmärkten, in trendlosen Märkten liefert der PSAR fast nur Fehlsignale. Standardeinstellung: täglich, Beschleunigungsfaktor 0,02 Verwandte Indikatoren Directional Movement Indikator Commodity Channel Index Indikator - MACD Formel Die Basis für seine Berechnung bilden zwei EMA, die voneinander subtrahiert werden. Das Ergebnis wird als Linie dargestellt und zusätzlich mit einer 9er EMA Signallinie verstehen, so dass ein Zwei-Linie-Modell entsteht. Pro&Contro Trendwechsel werden relativ schnell angezeigt Indikator kann einfach gelesen werden In langen Trendphasen dreht der MACD häufig gegen die Richtung des Haupttrends In volatilen Range Trading überhaupt nicht verwendbar durch häufige Fehlsignale Interpretation Wenn der MACD steigt, liegt ein Aufwärtstrend vor, wenn er fällt, ein Abwärtstrend. Sobald der MACD (gestrichelte Linie) seine Signallinie (durchgezogene Linie) von unten nach oben kreuzt, ist ein Kaufsignal gegeben. Analog gilt ein Verkaufssignal, wenn der MACD die Signallinie von oben nach unten kreuzt. Die Differenz zwischen MACD und Signallinie/Triggerlinie wird als Flaeche Indikator - TRIX Formel Es handelt sich somit um ein 1 Tages Rate of Change eines dreifach expotentiell geglätteten Durchschnittes der Schlusskurse eines Wertes. Das Ergebnis ist ein um die Null-Linie schwankender Oszillator, der aufgrund seiner Stabilität als Trendindikator verwendet wird. Auch hier ist es möglich eine 9er EMA Signallinie zu verwenden, um Signale frühzeitiger und systematischer generieren zu lassen. Pro&Contro Die starke Glättungskomponente führt dazu, dass der TRIX unbedeutende Kursbewegungen herausfiltert und eine äußerst glatte Verkaufskurve aufweist. Er eignet sich besonders gut, für die Darstellung mittelfristiger Kurs-Swings Die Signalgenerierung ist durch die Glättung sehr träge. In volatilen Seitwärtsphasen nicht einsetzbar Die Einstellung der Zeitspanne ist relativ kritisch, da hiermit die Trägheit sehr stark beeinflusst wird Interpretation Es entsteht ein Kaufsignal, wenn der TRIX Indikator sein Null-Linie von unten nach oben durchschneidet. Ein Verkaufssignal wird generiet, wenn er die Null-Linie nach unten durchbricht. Indikator - Commodity Channel Index "CCI" Formel MABn ... Mittlere Abweichung als Summe der Differenzen zwischen dem Durchschnittskurs jeder Periode und seinem GD Vereinfacht drückt Indikator aus, wie weit sich die aktuellen Kurse von ihren Gleitenden Durchschnitten entfernt haben. Die Formel berechnet ein einen Gleitenden Durchschnitt der täglichen Durchschnittskurse (H+L+C)/3 und deren mittlere Abweichung MABn. Pro&Contro Neben der Trendrichtung wird auch die Trendstärke/instensität angezeigt Kurzfristige Signale des CCI in Richtung des längerfristigen Trends sind besonders gut Verlaufskurse ist relativ unruhig Interpretation Nach Lambert deuten Werte zwischen +100 und -100 auf trendlose Märkte hin, die keine Handelsindikationen liefern. Je steiler die Verlaufskurve, desto stärker der Trend. Kauf und Verkaufssignale ergeben sich erst durch Kreuzen der Linie 100 bzw. -100. Bei einer längeren Parametereinstellung kann ein Schneiden der Null-Linie als Trendumkehr gewertet werden. Je kürzer der gewählte Periodenzeitraum (<10) desto stärker oszilliert der CCI und eignet sich dann auch als Overbought/ Oversold-Indikator. Indikator - RMI Formel Anstelle des Summierens von gefallenen und gestiegenen Tagen auf Schlusskursbasis, wie es beim RSI geschieht, zählt der RMI Kurssteigerungen und Kursrückgänge relativ zu einem Schlusskurs von vor x Tagen. Der Indikator stellt somit ein um eine Momentum-Komponente hinzugefügte RSI dar. Pro&Contro Bestimmung von Trends Trendwechsel erfolgen relativ schnell Sehr ruhiger und stabiler Kursverlauf In Seitwärtsmärkten läuft der Indikator zu leicht in die Extremzonen Interpretation Solange der alternative RMI oberhalb von 70-80 läuft, liegt ein Aufwärtstrend vor, unterhalb 30-20 ein Abwärtstrend. Von einer überkauften oder überverkauften Situation darf dabei nicht ausgegangen werden, da Trends mit Eintritt des RMI in die Extremzonen meist erst richtig einsetzen. Der Bruch der Mittellinie kann als möglicher Trendwechsel gesehen werden. Indikator - Polized Fractal Efficiency "PFE" Formel Polized Fractal Efficiency ist ein Ansatz, bei dem die Gesetze der Fraktalen Geometrie und die Erkenntnisse der Chaostheorie eingeflossen sind. Der PFE stellt die Frage ob eine Marktbewegung geradlinig verläuft, was sehr „effizient" ist, oder in Wellen. (+ bei steigenden, - bei fallenden Kursen) Pro&Contro Trendphasen werden durch den Aufenthalt in seinen Extremzonen hervorragend angezeigt. Verlaufsmuster eines Trendwechsels und die Trendindikation zeigen sehr sehr agil und trotzdem geglättet. In Seitwärtsphasen taucht der PFE zu schnell in seine Extremzonen ein. Interpretation Der PFE oszilliert in der Regel zwischen +100 und -100, wobei ein Wert über +40 bis +60 eine positive Trendeffizienz, ein Wert unter -40 bis -60 für eine negative Trendeffizienz spricht (je nach Markt und Parametereinstellung). Solange der Indikator in seinen Extremzonen bleibt, braucht man der Fortführung des Trends nicht zu zweifeln. Die Zone dazwischen ist als trendloses Niemandsland zu betrachten. Machmal wird jedoch trotzdem der Bruch der Mittellinie zur Interpretation herangezogen. Indikator - Time Series Forecast "TSF" Formel 1. Berechnung der Regressionsgeraden R ueber die letzten X Perioden fuer X Tage 2. Fortlaufende Notierung eines neu berechneten Wertes fuer X+1 dieser Regressionsgeraden Der Time/Series Forecast ist in seinem Aufbau einem Moving Average sehr aehnlich, der Trend des Basistitels wird jedoch mit Hilfe einer Regressionsgleichung nach der Methode der kleinsten Quadrate ermittelt. Diese Methode beinhaltet vereinfacht beschrieben das Anlaege einer Geraden in den Chart des Basistitels, die mit der Massgabe konstruiert wird, entsprechend dem Einstellungszeitraums den Abstand zwischen den Kursen und der Regressionslinie zu minimieren. Pro&Contra Sehr schnelle Reaktionszeit durch die Einbeziehung auch des letzten Kurses Indikator schiesst durch seine Berechnung oft ueber das Ziel hinaus Interpretation Der Indikator ist ein den Kursen stets vorauslaufender Indikator, mit einer aeussert senstitiven Wirkung Indikator - NewHigh - NewLow Umsatzindikatoren Grundlagen Markantes Volumenverhalten ist oft ein starkes Signal für eine vorstehende Bewegung. Die wichtigsten Regeln: Konsolidierungen (auch in K.formationen) sind umso aussagefähiger je stärker das Volumen insgesamt dabei zurückgeht. Damit ist aber kein "Austrocknen" der Volumina gemeint. Es ist Rückgang gemeint! Kein gänzliches Austrocknen wie oft bei sehr nichtliquiden Aktien. Bei Umkehrformationen jeglicher Art (KSK-Formation, Dreiecke usw.) ist ein Vol.rückgang ebenfalls sehr aussagekräftig. Jeodch sollte z.B. bei einer Schulter-Kopf-Schulter-Formation das Volumen zwar gesamt zurückgehen, jedoch idealerweise bei den Anstiegen innerhalb der Formation leicht abnehmen und bei den Abstiegen zunehmen. Bei Vollendung sollte das Volumen stark steigen, eine förmliche Explosion beim Durchbruch nach unten ist sehr aussagekräftig. Also ein Ausbruch aus einer Formation oder Konsolidierungszone sollte stets von hohem Volumen begleitet sein. Heisst, das Vol sollte mind. höher sein als in den letzten vor dem Verlassen der Konsolidierung. Eine andauernde Kursbewegung ist umso bedeutender je mehr das Volumen dabei ansteigt. Je geringer dabei die Wellenbewegungen/Voaltilität desto stabiler und besser. Generell geht das Verhalten des Volumens über die absolute Größe. Also wichtiger ist, ob das Volumen in eine bestimmte Kursrichtung hin zunimmt als wie hoch es genau ist. Tage mit extremen Kursbewegungen und extremer Volumenzunahme sind sehr riskant. Liegt man richtig kann man schnell einen großen Profit machen. Liegt man falsch und hat kein enges StopLoss ist man "arm" dran. Wenn man auf solche Extrembewegungen (bspw. > 30% an einem Tag) handelt, dann sollte man auf Konsolidierungskerzen warten und erst dann handeln, wenn diese nach oben hin verlassen werden. Indikator - ForceIndex "FI" Einführung Ähnlich wie der VPT ist auch der Force-Index eine Kombination aus dem Momentum und dem Umsatz. Entwickelt wurde der Indikator von Dr. Alexander Elder, der mit dem Indikator die Kraft der Bullen und Bären messen wollte. Aussage Für den Force-Index wird jeweils nur ein Ein-Tages-Momentum berechnet und dieser Wert mit dem jeweiligen Umsatz multipliziert. Das Ergebnis schwankt daher sehr stark nach oben und unten offen über die Nulllinie, da an Tagen mit Kursgewinnen die Werte positiv, an Tagen mit Kursrückgängen negativ sind. Die Höhe des einzelnen Wertes ist abhängig vom Umsatz und von der eigentlichen Kursbewegung. Um die starken Schwankungen besser in den Griff zu bekommen, wird der Indikator meistens nur geglättet dargestellt. Formel/Berechnung Interpretation Die Interpretation erfolgt im allgemeinen auf zwei Weisen, zum einen über den Durchbruch der Nulllinie, zum anderen über die Berechnung eines GDs auf den Force-Index. Durchbricht der Indikator die Nulllinie von unten nach oben, handelt es sich um ein Kaufsignal. Durchbricht der Indikator die Nulllinie von oben nach unten, handelt es sich um ein Verkaufsignal. Bei dieser Interpretation wird er Indikator hauptsächlich ungeglättet und als Histogramm dargestellt. Die andere Möglichkeit ist die, auf den Force-Index einen GD zu berechnen und den Schnitt der beiden Linien als Signalgeber zu nutzen. Ein Kaufsignal ist gegeben, wenn der Force-Index seinen GD von unten nach oben schneidet, ein Verkaufsignal dann, wenn der Force-Index seinen GD von oben nach unten schneidet. Indikator - On Balance Volume "OBV" Beschreibung Der Indikator wurde von J. Granville entwickelt. Er ist die kumulierte Summe des Umsatzes, wobei der Umsatz bei einem Anstieg addiert, bei einem Kursrückgang subtrahiert wird. Berechnung Die Berechnung erfolgt nach folgender Formel: C..... Schlusskurs CVortag..... Schlusskurs des Vortages Abs..... Absolutwert Anwendung Divergenzen zwischen OBV und Aktie deuten auf eine bevorstehende Trendwende hin. Siehe auch: Price and Volume Trend (PVT) Positive Volume Index (PVI) Negative Volume Index (NVI) Indikator - Volume Price Trend "VPT" Beschreibung Der Volumen Price Trend (VPT) ist eine einfache Kombination des Momentums mit dem Umsatz. Entwickelt wurde dieser Indikator von Steve L. Kille. Berechnung Die Berechnung des Indikators erfolgt, in dem die jeweiligen Kursveränderungen mit dem Umsatz des betreffenden Tages multipliziert werden. Das jeweilige Ergebnis wird über den gewünschten Zeitraum aufsummiert. Das Ergebnis schwankt nach oben und unten offen über die Nulllinie, da an Tagen mit Kursgewinnen die Werte positiv, an Tagen mit Kursrückgängen negativ sind. Die Höhe des einzelnen Wert ist abhängig vom Umsatz und von der Kursbewegung. Formel/Berechnung: Anwendung Die Interpretation erfolgt im allgemeinen auf zwei verschiedene Weisen, zum einen über Trendwechsel im Indikator, zum anderen über die Berechnung eines GDs auf den VPT. Wenn der Indikator im positiven Bereich nach unten dreht, zeigt dies, dass der Aufwärts-Schwung nachlässt und ein Abfallen des Kursverlaufs wahrscheinlich wird. Eine Drehung im negativen Bereich nach oben weißt auf einen nachlassenden Abwärtstrend hin und damit auf bald steigende Kurse. Die andere Möglichkeit ist die, auf den VPT einen GD zu berechnen und den Schnitt der beiden Linien als Signalgeber zu nutzen. Ein Kaufsignal ist gegeben, wenn der VPT seinen GD von unten nach oben schneidet, ein Verkaufsignal dann, wenn der VPT seinen GD von oben nach unten schneidet. Siehe auch: PICTURE Berechnung-VPT.png Price and Volume Trend (PVT) Positive Volume Index (PVI) OBV (On Balance Volume) Indikator - Negative Volume Index "NVI" Beschreibung Der Indikator wurde von N. Fosback entwickelt. Er nimmt an, dass die professionellen Anleger an Tagen mit geringen Umsätzen handeln, während sich die uninformierten Anleger an Tagen mit hohen Umsätzen engagieren. Der Indikator ändert seinen Wert nur bei fallendem Umsatz. Berechnung Bei unverändertem oder höherem Umsatz als am Vortag ändert der NVI seinen Wert nicht. Bei niedrigerem Umsatz errechnet sich der NVI nach folgender Formel: C..... Schlusskurs CVortag...... Schlusskurs des Vortages Anwendung Wenn der NVI unter seinem GD40 (40 Tage gleitender Durchschnitt) liegt, ist der Markt von den "Profis" beherrscht. Bei einem Anstieg des NVI über seinen GD40 ist mit einem Kursanstieg zu rechnen. Bei einem Rückgang des NVI unter seinen GD40 ist mit einem Kursrückgang zu rechnen. Die Aussagekraft des NVI ist sehr unterschiedlich. Nach unserer Erfahrung ist er für Seitwärtsbewegungen ungeeignet. Es empfiehlt sich die Anwendbarkeit des Indikators für die betreffende Aktie in der Vergangenheit zu prüfen bzw. den Indikator nur zur Unterstützung der Aussage anderer Indikatoren einzusetzen. Siehe auch: Price and Volume Trend (PVT) Positive Volume Index (PVI) OBV (On Balance Volume) Indikator - Positive Volume Index "PVI" Beschreibung Der Indikator wurde von N. Fosback entwickelt. Er nimmt an, dass die professionellen Anleger an Tagen mit geringen Umsätzen handeln, während sich die uninformierten Anleger an Tagen mit hohen Umsätzen engagieren. Der Indikator ändert seinen Wert nur bei fallendem Umsatz. Berechnung Bei unverändertem oder höherem Umsatz als am Vortag ändert der NVI seinen Wert nicht. Bei niedrigerem Umsatz errechnet sich der NVI nach folgender Formel: C..... Schlusskurs CVortag...... Schlusskurs des Vortages Anwendung Wenn der NVI unter seinem GD40 (40 Tage gleitender Durchschnitt) liegt, ist der Markt von den "Profis" beherrscht. Bei einem Anstieg des NVI über seinen GD40 ist mit einem Kursanstieg zu rechnen. Bei einem Rückgang des NVI unter seinen GD40 ist mit einem Kursrückgang zu rechnen. Beispiel Die Aussagekraft des NVI ist sehr unterschiedlich. Nach unserer Erfahrung ist er für Seitwärtsbewegungen ungeeignet. Es empfiehlt sich die Anwendbarkeit des Indikators für die betreffende Aktie in der Vergangenheit zu prüfen bzw. den Indikator nur zur Unterstützung der Aussage anderer Indikatoren einzusetzen. Siehe auch: Price and Volume Trend (PVT) Positive Volume Index (PVI) OBV (On Balance Volume) Indikator - Volume Rate Of Change "VROC" Beschreibung Der Volume ROC-Indikator (Rate of Change = Änderungsrate) beschreibt die relative Änderung des Umsatzes in Prozent. Es ergeben sich daher Schwankungen um Null herum. Im Gegensatz zum ROC erfolgt noch eine Glättung durch einen gleitenden Durchschnitt, um zu starke Schwankungen zu vermeiden. Berechnung Die Berechnung des Volume ROC erfolgt nach folgender Formel: Umsatzalt..... Umsatz vor 10 Tagen GD6..... Arithmetischer gleitender Durchschnitt (6 Tage) Anwendung Bei steigenden Kursen sollte auch der Volume ROC steigen bzw. im positiven Bereich bleiben Ein rückläufiger Volume ROC bei steigenden Kursen deutet auf eine Trendwende hin (Umsatz geht zurück). Siehe auch: Umsatz Volatilität Indikator - Standardabweichung "S" Formel Der Indikator macht sich die Erkenntnis der Normalverteilung zunutze, dass sich bei statistischen Ergebnissen stets eine Konzentration um einen Mittelwert ergeben. Mit einer einfachen Standardabweichung lassen sich 70%, mit einer zweifachen 95% alle Kursbewegungen erfassen. Pro&Contro Je nach Parametereinstellung können sowohl die Enden von langfristigen Trends als auch von kurzfristigen Breakout-Bewegungen angezeigt werden. Der Indikator zeigt Trendwechsel beim Erreichen der unteren Extremzone recht zuverlässig an Es gibt keine Kauf/Verkaufssignale, sondern nur ob eine Kursbewegung einsetzten kann oder sie vor ihrem Ende steht. Bei kurzfristigen Einstellungen lässt der Indikator zuviel Interpretationsspielraum Interpretation Ein steigender Verlauf steht für eine volatilere, meist trendgerichtete Bewegung der Kurse. Ein niedriger Stand weist oft auf ein baldigen Breakout hin, dagegen zeigt ein Wert in der oberen Extremzone oft ein Wechsel der Trendrichtung an. Indikator - 6-100 Historische Volatilität - "HistVol" Formel Die Volatilität einer 6-tägigen Periode wird ins Verhältnis zu einer 100-tägigen gesetzt. Historische Volatilität wird dabei als Standardabweichung einer logarithmierten Kursveränderung definiert. Ein niedriger Stand zeigt, dass die Volatilität der letzten 6 Tage im Verhältnis zu den letzten 100 Tage relativ gering ist. Da die Volatilität sich zyklisch verhält, kann man in diesen Fällen von einem baldigen Anstieg ausgehen. Ein hoher Wert deutet darauf hin, dass sich die Kurse kurzfristig zu weit von ihrem Mittelwert entfernt haben. Pro&Contra Hoher Autokorrelationswert, d.h. eine einmal eingeschlagene Richtung wird beibehalten Die Kurve zeigt zwischen 0.6 und 0.8 zu viele Interpretationsspielräume Interpretation Die Volatilität einer 6-tägigen Periode wird ins Verhältnis zu einer 100-tägigen gesetzt. Historische Volatilität wird dabei als Standardabweichung einer logarithmierten Kursveränderung definiert. Ein niedriger Stand zeigt, dass die Volatilität der letzten 6 Tage im Verhältnis zu den letzten 100 Tage relativ gering ist. Da die Volatilität sich zyklisch verhält, kann man in diesen Fällen von einem baldigen Anstieg ausgehen. Ein hoher Wert deutet darauf hin, dass sich die Kurse kurzfristig zu weit von ihrem Mittelwert entfernt haben. Indikator - Vertical Horizontal Filter "VHF" Formel Er determiniert, ob sich die Preise in einer Trend oder Nicht-Trendphase bewegen. Dazu vergleicht er die Summe einer einperiodigen Rate of Change mit High/Low Range einer bestimmten Periode Pro&Contro Anzeige der Ende sowohl von kurfristigen als auch von langfristigen Trends je nach Parametereinstellung Bodenbildungen sind wertvolle Hinweise für Einstiegsstrategien In langfristigen Trendphasen sind die Verlaufsmuster nicht stabil genug Sehr unruhiger Kursverlauf Interpretation Richtung bestimmt die Trendart, die Steigungsgrad bestimmt die „Trendiness". Topbildungen oberhalb von 0,4 bzw. 40 signalisieren das Ende des bisherigen Trends und Bodenbildungen unterhalb von 0,2 bzw 20 deuten auf mögliche Ausbruchsbedingungen hin. Indikator - Volatilät der True Range "Wilder (Volatilität)" Einführung: Welles Wilder errechnet mit diesem Indikator eine Art Volatilität auf Basis der True Range eines Tages. Aussage: Die True Range wird in einigen Indikatoren, etwa dem DMI, verwendet, um Tage mit einer geringen Tages-Handelspanne, aber einem großen Abstand zum Vortagesschluss (Gap) korrekt in die Berechnung der Volatilität einfließen zu lassen. Die True Range ist immer positiv und stellt das Maximum der drei folgenden Formeln dar: 1.)Tageshoch heute minus Tagestief heute 2.)Tageshoch heute minus Schlusskurs gestern 3.)Tagestief heute minus Schlusskurs gestern Auf dieser True Range wird ein GD gebildet, wobei Wilder einen einfachen 14-Tage-GD empfohlen hat. Das Ergebnis ist die "Average True Range" (ATR). Die Aneinanderreihung der ATR ergibt den "Wilder´s Volatility". Da die True Range immer positiv ist, ist auch die Wilder´s Volatility immer positiv. Formel/Berechnung: 1. Messen der True Range (TR) 2. ATR = MAx (TR) 3. Wilder's Volatility = ATRt + I I = Wilder's Volatility Vortag Interpretation: Die Wilder´s Volatility liefert keine eigenständigen Signale. Ein steigender Indikator-Verlauf signalisiert lediglich eine steigende Volatilität, während ein fallender Verlauf auf eine abnehmende Volatilität hinweist. Chart mit Wilder´s Volatility Standardeinstellung: Der GD wird standardmäßig über 14 Tage berechnet. Verwandte Indikatoren: Directional Movement Indikator Chaikin´s Volatility Indikator - Notis %V - "VolumeNotisV" Einführung: Der von Steve Notis entwickelte Notis %V Indikator misst zwei Volatilitäten; eine für den Aufwärts-, und eine für den Abwärtstrend, um so durch die Kreuzung dieser beiden Linien Trendwenden zu finden. Aussage: Die Berechnung der Aufwärts-Volatilität erfolgt durch die Bildung der Differenz zwischen Tageshoch und Tagesschluss. Die Differenz ist so immer größer oder gleich Null. Die Berechnung der Abwärts-Volatilität erfolgt durch die Bildung der Differenz zwischen Tagesschluss und Tagestief. Die Differenz ist so immer größer oder gleich Null. Beide Kurven werden dann in der Regel nochmals mit einem GD geglättet. Formel/Berechnung: +%V = Ht - Ct und -%V = Ct - Lt +%V = Kurve der "Aufwärts-Volatilität" -%V = Kurve der "Abwärts-Volatilität" Interpretation: Im Abwärtstrend steigt gemäß der Notis-Formel die Aufwärts-Volatilität, da die Kurse in der Nähe des Tiefkurses schließen und so die Spanne zwischen Close und High tendenziell höher wird. In Aufwärtstrend gilt genau das Gegenteil. Wenn die beiden Linien sich also schneiden, findet ein Trendwechsel statt. Ein positives Signal ist gegeben, wenn die Aufwärts-Volatilität die Abwärts-Volatilität von oben nach unten schneidet, ein negatives Signal dann, wenn die Aufwärts-Volatilität die Abwärts-Volatilität von unten nach oben schneidet. Standardeinstellung: täglich, der GD wird standardmäßig über 14 Tage berechnet. Verwandte Indikatoren: Chaikin´s Volatility Neuronales Netz Indikator - NNKorrelation Indikator - NNPrognose Genetische Algorithmen Ziel Die Genetische Algorithmen sollen als heuristische Optimierungsverfahren und evolutionäre Algorithmen die triviale und einfache lineare Suche nach globalen Optimums für Einstellungen im Money-Management und Indikatorenwerten erleichert und teilweise überhaupt erst möglich machen. Quick-Guide (1) Chart aufrufen und einen Indikator auswählen (2) Indikatorsignalgebung einstellungen und für den Hauptchart übernehmen (3) Handelssystem für den aktuellen Indikator aufrufen (4) Ergebnisse des Handelssystems prüfen und über die genetischen Algorithmen schrittweise optimieren Hintergrundwissen Wie kann man sich das Prinzip vorstellen bzw. welche Schritte werden im GA umgesetzt: 1. Initialisierung: Erzeugen einer ausreichend großen Menge unterschiedlicher „Individuen" (Lösungskandidaten). Diese bilden die erste Generation. Die Menge wird durch die Festlegung der Populationsgröße (siehe Einstellung) bestimmt. 2. Evaluation: Für jeden Lösungskandidaten der aktuellen Generation wird anhand einer Zielfunktion (auch Fitness-Funktion genannt) ein Wert bestimmt, der seine Güte angibt. Die Fitnessfunktion ist die Performance des Handelssystems unter den gegebenen aktuellen Genomen und damit aktuellen numerischen Parameterwerten. 3. Selektion: Zufällige Auswahl von Lösungskandidaten aus der aktuellen Generation. Dabei werden Lösungskandidaten mit besseren Zielfunktionswerten mit einer höheren Wahrscheinlichkeit ausgewählt. 4. Rekombination: die Daten (Genome) der ausgewählten Individuen werden gemischt und daraus neue Individuen erzeugt (Vermehrung). Durch Crossover-Möglichkeiten erfolgen dabei auch Rekombinationen auch mit Individien außerhalb der eigenen Population 5. Mutation: Zufällige Veränderung der neuen Individuen. Hierzu dient sowohl die Einstellung für die Mutationswahrscheinlichkeit. 6. Aus den neuen Individuen und aus den Individuen der aktuellen Generation werden die Mitglieder der neuen Generation ausgewählt und mit Schritt 2 fortgefahren bis die maximale Anzahl von Generationen (siehe Einstellung) erreicht ist. Die Grundidee genetischer Algorithmen ist, ähnlich der biologischen Evolution, eine Menge (Population) von Lösungskandidaten (Individuen) zufällig zu erzeugen und diejenigen auszuwählen, die einem bestimmten Gütekriterium am besten entsprechen (Auslese). Deren Eigenschaften (Parameterwerte) werden dann leicht verändert (Mutation) und miteinander kombiniert (Rekombination), um eine neue Population von Lösungskandidaten (eine neue Generation) zu erzeugen. Auf diese wird wiederum die Auslese und Rekombination angewandt. Das wird viele Male wiederholt. Arbeitsschritte Konfiguration Wenn Sie wollen starten Sie einfach mit "Starten", da die Standardeinstellungen in vielen Fällen sehr gut funktionieren. Titel Beschreibung Population Anzahl von Individien pro Population Generation Anzahl von Generationen zur Findung eines Optimums Chromosom-Mutation Modifikationsparameter bei Mutation eines Genoms Crossover-Wahrscheinlichkeit Wahrscheinlichkeit zur Durchführung von Crossover -Mutationen, d.h. zwei Chromosome tauschen Ihre Positionen an verschiedenen Genen, womit zwei neue Chromosomen erzeugt werden. Crossover Punkte zwischen 1 und 4: 1 234 567890 --> 1 999 567890 8 999 888888 --> 8 234 888888 Crossover Punkte zwischen 9 und 10): 123456789 0 --> 123456789 0 888888888 9 --> 888888888 9 Alles zwischen den zwei Punkten wird in den Eltern-Chromosomen geswapped und es werden so zwei neue Kinder erzeugt. Das Verfahren wird daher auch als Two-Point-Crossover benannt. Zufällige Selektion in % Elementar ist ein Selektionsmechanismus in der Evolution der Individien. Diese orientiert sich grundsätzlich an der Fitness dieser. Mit der zufälligen Selektions-Wahrscheinlichkeit werden Individien in die nächste Generation übernommen unabhängig von Ihrer "Performance" bzw. Fitness. Es soll so ein ausreichend breiter Individienstand gesichert werden. Optimale Indikatorenoptimierungen speichern Nur mit aktivierter Checkbox,werden die gefundenen optimierte Paramter nach abgeschlossener Berechnung gespeichert in den Indikatoren-Paramter-Einstellungen. Verwendet wird aktuell die zugrundeliegende Indikatoren-Gruppe, die auch im Chart eingestellt war. Optimale Handelssystem-Einstellungen speichern Nur mit aktivierter Checkbox, werden die gefundenen optimierte Paramter nach abgeschlossener Berechnung gespeichert in den aktuellen Handelssystem-Einstellungen. Anlageform Long=Optimierung für steigende Kurse Short=Optimierung auf fallende Kurse Auswertungstabelle Die Tabelle zeigt fortlaufend die "Elite" der Individien an, die eine neue optimale Performance aufzuweisen haben. Titel Bedeutung Generation X. Generation in der Evolution. Praktisch gleichzusetzen mit dem Anzahl der Durchläufe. Gestartet wird bei 0. Gen/Population X. Population innerhalb einer Generation. Gestartet wird bei 0. Fitness Aktuelle Performance es Handelssystems mit den nachfolgenden Einstellungen / Spaltenwerten MaxKapRisk Money-Management: Maximale Kapital Risiko pro Trade InitStopp Money-Management:Initialer Risk-Stopp, d.h. Abstand zwischen Stopp-Kurse und Einstiegskurs TrailingStopp Money-Management:Trailing-Stopp Up-Tage Indikator: 1. Parameterwert. Praktisch damit nur ein Beispiel und unterscheidet sich je nach verwendeten Indikator. Down-Tage Indikator: 2. Parameterwert. Praktisch damit nur ein Beispiel und unterscheidet sich je nach verwendeten Indikator. Fortschritts-Charts Durchschnittliche Fitness pro Generation: Durchschnittswerte aller Individien in einer Generation. Der Wert läuft im Normalfall den "Eliten" hinterher, da der Durchschnittswert und nicht das Maximum in einer Generation herangezogen wird. Die Fitness ist natürlich gleichzusetzen mit der Performance des Handelssystems. Durchschnittliche Konvergenz pro Generation: Wie stark unterscheiden sich die Individien pro Generation. Durch initiale zufällige Befüllungen und einer schrittweisen Optimierung zeigt die Kurve oft eine konkave Kurve. Marktanalyse - Oracle Ziel Das Analysetool erlaubt den Aufbau von visuellen Entscheidungsbäumen für eine Markteinschätzung. Es wird dabei bewusst vermieden eine Kauf/Verkaufsentscheidung dabei zu realisieren, sondern vielmehr die Möglichkeit der visuellen Markteinschätzung auf verschiedenen Zeitebenen, mit unterschiedlichen Gewichtungen und Beschriftungen zu unterstützen. Es werden dabei mehrere aufbaubare Modelle unterstützt, die parallel existieren können. Es ist nicht das Ziel eine Kauf/Verkaufsentscheidung auf Basis einer "Formel" zu berechnen, sondern strukturiert wesentliche Markt-Einflussfaktoren für sich persönlich aufzuarbeiten und sich selbst ein Marktbild unabhängig von anderen zu bilden. Die Art der Zusammensetzung und die Herleitung ist völlig frei in Benutzerhand und folgt immer einer Baum-Struktur. Die Größenverhältnisse & Anordnung ist dabei frei bestimmbar. Jedes Kriterium kann dabei die Status "Positiv", "Negativ" und "Neutral" einnehmen. Die Begründungen für eine Markteinschätzung, können dabei unter Beschreibung erfasst werden. Die Idee hierzu ist mir gekommen nach dem Start eines persönlichen Trading-Tagesbuchs, womit ich systematisch relevante Themen aufgearbeitet habe. Bislang fehlte mir hierzu jedoch das Tooling, um hierbei visuelle Strukturen zu nutzen. Es stellte sich so aber sehr schnell heraus, dass ein reiner Indikatoren-Ansatz für mich alleine nicht ausreichend war. Vielleicht kann ich Ihnen mit diesem Werkzeug ebenfalls helfen. Grundstruktur Von mir vorgeschlagene Grundstruktur (wie auf der Abbildung zu sehen): Bestimmende Faktoren und Status für den Primärtrend (6M), Sekundärtrend (1M) und Tagesanalyse (1d) bilden die Grundstruktur. Unterhalb dieser Hauptebenen erfolgt eine weitere Unterscheidung von kursbestimmenden Faktoren. Jedes kursbildende Merkmal kann mit eigener Beschriftung, Einschätzung (positiv, negativ, neutral) und Größenverhältnis gesetzt werden. Um ein Element zu ändern, muss es mit der Maus (einfacher Mausklick) selektiert werden. Es wird hierbei mit einer rot gestrichelten Linie markiert und kann dann editiert werden über die Toolbar (Beschreibung, Bedeutung, Einschätzung). Der Beschreibungstext kann hierbei mehrzeilig sein und entsprechend mit dem "Pfeil" aufgeklappt werden. Es erscheint ein entsprechendes Mehrzeilen-Eingabefeld (Memo). Die Einstellungen hierfür werden über die Toolbar gesetzt und müssen mit "Übernehmen" abgeschlossen werden. Es kann dabei festgelegt werden, ob in diesem Moment gleichzeitig das Model gespeichert werden soll über die zugehörige Checkbox "Auto Speichern". Das hier gezeigte Beispiel verwendet Zeitebenen "Primärtrend" / "Sekundärtrend" etc. Dies muss nicht so sein und ist nur ein möglicher Ansatzpunkt. Sie können hierbei eigene Strukturen und Herleitungen nutzen. Knoten können hierzu gelöscht, als Kind-Knoten (unterhalb des aktuell gewählten) oder als Bruder-Knoten (neben dem aktuell ausgewählten) erzeugt werden. Die Marktanalyse-Karte verwendet aufgrund des Levels eine automatische Farbgebung beginnend von hellblau zu weiß. Die Farbgebung wird dabei justiert zwischen 1 Level und niedrigsten Knoten-Level. Wird somit beispielsweise unterhalb von MACD ein weiterer Knoten erstellt, verschiebt sich die Farbskala. Jeder Knoten (auch die übergeordneten) können hierbei eine individuelle Status-Farbe ("Einschätzung") haben. Negativ wird damit als Orange, Positiv mit Grün belegt. Eine "Neutrale" Einschätzung führt zu der Verwendung des normalen Farbwertes innerhalb des Levels des Knoten d.h. damit ein hellblau...weiß Farb(verlaufs)wertes. Die "Landkarte" ist zum aktuellen Zeitpunkt bewusst vollständig manuell und soll die eigene "Tagesanalyse" und "Markteinschätzung" strukturieren und unterstützen. Long-Wahrscheinlichkeits-Berechnung Ab der .2 Version gibt es für alle Einträge bis Level 3 eine Wahrscheinlichkeitsberechnung in [ ... %] Darstellung vor den Beschreibungstexten. Hierbei werden die Bedeutungswerte im Verhältnis zu der Summe der Einträge auf gleicher Ebene gezogen. Hierbei werden "neutrale" Einträge in der Betrachtung ignoriert. Positive entsprechend führen zu einem positiven Beitrag und negative bleiben unberücksichtigt für die Long Wahrscheinlichkeitsberechnung. Beim Trivialfall von 2 Einträgen, bei dem 1 Positiv und 1 negativ bewertet wird ergibt dies damit 50% LONG 1 Positiv und 1 neutral bewertet ergibt damit 100% LONG, da neutrale Einträge ignoriert werden Die Berechnung erfolgt nach unten selbstverständlich vollständig und rekursiv. Nur die Anzeige der %-Werte ist begrenzt aus optischen Gründen unter den gegebenen Zielstellungen. Besonderheiten Es können über die Speichern/Laden Funktion unterschiedliche Modelle aufgebaut werden. Im Standard wird jedoch immer aus dem Datenverzeichnis die "Marktanalyse.TEE" Datei gezogen. Dies ist damit das Standardmodell, was bei Systemstart geladen wird. Werden Änderungen vorgenommen, so wird diese Datei entsprechend gespeichert. In weiteren Ausbaustufen ist geplant (2012), dass festgelegte Entscheidungspunkte wie hier im Bild z.B. Indikatoren / MACD automatisch berechnet werden können. Ich würde hierbei gerne ein max. flexibles Modell mit eigener möglicher Programmierung aufbauen wollen. Hierfür müssen aber noch einige Vorbereitungen getroffen werden. Die Berechnung der Marktbreite oder eventl. eigene Formationserkennung sollen ermöglicht werden. Stammdaten Stammdaten WKN Eindeutige Wertpapierkennummer. Wird hier keine WKN eingegeben wird durch das System eine automatisch generierte WKN gebildet. Die WKN spielt keine Primärschlüsselrolle (Referenz-Zuordnungsrolle) mehr. Dies wird durch die ISIN vorgenommen. Kurzname Der Kurzname kann in Kurslisten zusätzlich angezeigt werden. Bei Devisen wird ausschließlich der Kurzname in Auswahlboxen zur Verfügung gestellt. ISIN Die Nummer wird in den wichtigen Internetkursaktualisierungsadressen zum Abgleich genutzt. Auch im OnlineWebPannel wird die Zuordnung über die ISIN Nummer vorgenommen. Der Wert ist somit zu korregieren bei Problemen. Um eine gültige ISIN Nummer zu ermitteln bietet sich die Suche in entsprechenden Websites an, beispielsweise: Comdirect: http://isht.comdirect.de/html/search/main.html Consors: http://www.cortalconsors.de/ Finanzteff: http://www.finanztreff.de an. Auch der Abgleich mit Tai-Pan® ist möglich, da hier seit einiger Zeit ebenfalls die ISIN Nummern korrekt gepflegt werden. Branche Einordnung der Aktien in ein Wirtschaftssegment oder einfach eine Tätigkeitsbeschreibung der Unternehmung. Sinnvoll ist hierbei die Nutzung einer allgemeinen Gruppeneinordnung die zusammen mit anderen Werten genutzt wird um z.B. Branchensegmente bilden zu können. Diese sind dann optisch in der Liste sehr schnell herauszufinden bzw. eine Sortierung nach der Branche kann effizient genutzt werden. Kurzname Der Kurzname erlaubt alternative Bezeichnungen für Werte z.B. zur Nutzung von Einordnungskriterien oder einfach nur als Kurzname. Der Kurzname kann als zusätzliche Spalte in Kurslisten verwendet werden. Per Standardeinstellung wird der Kurzname nicht angezeigt. Gefüllt wird der Kurzname bei Nutzung von Tai-Pan® über den Kurznamen von Tai-Pan®. Umsatz Umsatz des Unternehmens im letzten Jahresbericht. Diese Angabe dient der grössenmäßigen Einordnung der Gesellschaft, da vor allem bei kleinere Gesellschaften ein enormer Basiseffekt bei Gewinnsteigerungen erzielt werden kann. Dieser beschreibt den Effekt, dass bei kleinen Firmen mit kleinen Gewinnen leichter Gewinnsteigerungen erzielt werden können durch einfache Rationalisierungseffekte als bei Gesellschaften die bereits im Mrd. - Bereich Gewinne erzielen können. Umsatz -> Kurs-Umsatz-Verhältnis (KUV) Die Relation zwischen dem Kurswert einer Aktie und den anteiligen Umsätzen eines Unternehmens wird bei professionellen Wertpapieranalysten häufig eingesetzt. Die Idee ist hierbei, dass ein dauerhaftes Gewinnwachstum nur erreicht werden kann, wenn die Umsätze steigen. Für die Berechnung wird der Kurswert durch den Umsatz je Aktie dividiert. Streubesitz Wie groß ist der Anteil der an der Börse handelbaren Stücke (Freefloat) Cashflow je Aktie -> Kurs-Cashflow-Verhältnis (KCV) Der Cashflow ist eine Bilanzkennzahl, die Rückschlüsse auf die Finanzierungskraft eines Unternehmens zulässt. Der Cashflow wird aus der Summe von Jahresüberschuss, Abschreibungen, Veränderungen der langfristigen Rückstellungen ermittelt. Wieder wird für den Vergleich unterschiedlicher Aktien der Wert im Verhältnis gesetzt zum Kurs. Cashflow heißt übersetzt soviel wie Geldzufluss. Letztlich handelt es sich dabei um den Liquiditätsüberschuss eines Unternehmens. Buchwert je Aktie Für die Betrachtung der Substanzentwicklung und nicht der Ertragsentwicklung eines Unternehmens kann der Buchwert herangezogen werden. Das KBV entspricht dem Kurs dividiert durch den in der Bilanz ausgewiesenen Wert von Vermögensgegenständen reduziert um Verbindlichkeiten eines Unternehmens je Aktie. Je niedriger das KBV, desto besser. Der Wertansatz eines Unternehmens und stille Reserven (Patente, Immobilien, Markenrechte) sind zusätzlich zu beachten, da sie zunächst im Buchwert nicht erfasst werden. Marktsegment Welchen Märkten ist die Aktie zuzuordnen? Jede Aktie wird mind. einem Marktsegment zugeordnet z.B. EuroStoxx50. Diese Zuordnung wird zum einen zum Aufruf von Kurslisten aufgrund des zugeordneten Marktsegmentes benötigt, wie auch für die Verifizierung von gültigen Kurszuordnunen. Die Zuordnung wird über das Kontextmenü "Marktzuordnung" getroffen. Die anschließende Frage inwiefern "Die Marktzuordnung exklusiv" gesetzt werden soll, ist mit ja zu beantworten, wenn die zuvor markierten Einträge ausschließlich dem gewählten Marktsegment zuzuordnen sind. Wird die Frage mit nein beantwortet, wird die Markteinstellung ergänzend zu den bisherigen Einstellungen genommen. Ist also zuvor Nemax und Nemax50 eingestellt wird nach Wahl des Eintrages "Ausland" die Einstellung um das Marktsegment "Ausland" ergänzt. Unternehmensdaten In den Spalten Jahr, Dividende, Ergebnis können die zur Beurteilung einer Gesellschaft wichtigen Kennzahlen eingetragen werden. Hierbei sind über Aufruf eines Kontextmenüs weitere Funktionen abrufbar. Die Dividendenrendite ergibt sich aus der Division der Dividendenhöhe durch den aktuellen Aktienkurs multipliziert mit 100. Sie gibt die Verzinsung von investiertem Aktienkapital je Aktie an. Die Dividende ist dabei der Gewinn, der anteilig für eine Aktie von der Aktiengesellschaft ausgeschüttet wird. Die Dividende entspricht nicht dem Gesamtgewinn einer AG, da der Ausschüttungsbetrag vor der Auszahlung durch Rückstellungen o.ä. reduziert wird. OS-Daten Um ebenfalls Zertifikate und Optionsscheine vernünftig verwalten zu können, werde dies ebenfalls als Eingabefelder zur Verfügung gestellt. Der Basiswert kann für die Suche von OS/Zertifikaten zu einem Titel verwendet werden. Alle anderen Eingaben haben in der aktuellen Version nur Anzeigecharakter in Kurslisten. Hierbei können alle Werte direkt in Kurslisten eingeblendet werden. Berechnungen finden zur Zeit aber nicht statt. Kurse Die Kursdaten werden erst geladen, bei einem Wechsel auf das entsprechende Register Kurse. Bei der Anzeige werden alle historischen Kursdaten angezeigt, so wie Sie bei diesem Wert vorhanden sind. Ganz links befindet sich unterhalb des Schriftszuges "Kursdaten" der Name der Kursdatendatei (.SF). Als Besonderheit befinden sich die Kursdaten des aktuellen Tages nicht in der Liste, da diese seperat in den Stammdaten aus Performancegründen gehalten werden. Sie werden je nach Einstellung in den Programmeinstellungen, dann am nachfolgenden Tag in die Historiendatei gespeichert. Editieren eines Eintrages Durch einen Doppelklick auf eine Zeile kann der entsprechende Eintrag editiert werden. Das Hinzufügen ist hier ebenfalls möglich, wenn das Kontextmenü genutzt wird und der Menüpunkt neu ausgewählt wird. Die Kursdaten einer Aktie mit den Tagesveränderungen werden in dieser Ansicht aufgebaut. Hierbei werden Montage fett hervorgehoben. Über das Kontextmenü können wie immer zusätzliche Funktionen aufgerufen werden. Hierzu können in dieser Liste auch mehere Eintragungen zuvor markiert werden. Dies ist dann auch Vorraussetzung für die Nutzung der Funktion "Aktiensplitt". Es würden nur die markierten Einträge mit dem eingetragende Splitverhältnis verändert. In der Spalte 'Veränderung' wird dabei die zum Vortag zu ermittelndende prozentuale Kursveränderung angezeigt. Aktiensplitts Mit Splitt lassen sich alle selektieren Kursdateneinträge um einen Faktor verkleinern/vergrößern. Dies wird benötigt um Aktiensplitts berücksichtigen zu können, die durch Kapitalerhöhungen, Kurspflege oder auch inverse Aktiensplitts (Verhinderung von Delistings) benötigt werden. Sperrdatum Kursdaten werden bei der Aktualisierung erst nach diesem Datum akzeptiert. Dies ermöglicht manuelle Korrekturen ohne bei Aktualisierung der historischen Kursdaten diese wieder verworfen zu haben. Kursaktualisierung Das Fenster zeigt per Default die genutzten Aktualisierungsadressen für die Tagesdaten sowie für die historischen Kursdaten an. Der Defaultwert wird hierbei bestimmt durch den ersten gefundene Marktzuordnung des Wertes. Über den Button "Selektierte Prüfen" kann gezielt über das anschließend angezeigte Protokoll die Aktualisierung für den aktuellen Wert verifiziert werden: Im Protokoll erscheinen die interpretierten Rückgabedaten von der Website in Textform. Eine Prüfung der Aktualisierungen ist so wesentlich einfacher möglich als in vorherigen Versionen. Unternehmensbeschreibung Unternehmensbeschreibungen werden als kleines Profilsymbol innerhalb von Kurslisten angezeigt. Um diese tatsächlich mit Daten zu hinterlegen muss in den Markteinstellungen in der Profilgruppe eine zu verwendende Aktualisierungsadresse hinterlegt werden: Es sind dabei mehrere Profilinformationen hinterlegbar. Damit eine Aktualisierung erfolgt muss unter Hauptmenu / Kurse / Internet Filter das Update der Beschreibungen aktiviert sein. Markteinstellungen Alle Aktien werden einfach-oder mehrfach einem Marktsegment zugeordnet. Diese Zuordnung ist durch eine technische Grenze limtiert auf 64 Märkte. Durch die Festlegung eines Gruppennamen lassen sich hierbei in der Kursliste Marktsegmente zusammenfassen für die Darstellung. So ist beispielsweise Indizes.Europe und Indizes.International unter "Indizes"-Gruppenname zusammengefasst. Die Gruppierung ist nur in der Anzeige innerhalb des Kursliste relevant. Bei einem nicht gruppierten Markt wird immer die Kurzbezeichnung zur Darstellung in Kurslisten verwendet. In Auswahlmenüs usw. immer der normale Langnamen. Beispiel: General Standard wird in Kurslisten als "GeneralS" dargestellt. Währung Die Währung zeigt alle Titel mit einer Marktzuordnung vom Anlagetyp "Devisen". Die Zuordnung wird in Kurslisten in der Titelleiste gezeigt, um den Überblick bei der genutzten Währung zu behalten. Zum anderen werden Depotpositionen, die diesem Markt zugeordnet sind, in Richtung Depotwährung umgerechnet. Bevorzugte Börse/Depot/Provisionsmodell Wird ein Titel aus dem Segment gekauft wird automatisch diese Börse/Depot als Standardeinstellung angenommen und kann danach natürlich verändert werden. Zudem kann bei Tai-Pan®aktualisierungen (siehe Programmeinstellungen.Tai-Pan®) der bevorzugte Markt für die Aktualisierung verwendet werden, sofern die Tai-Pan®-Datenbasis es hergibt. Wertpapiertyp z.B. Indizes werden auch wenn eine Depotumrechnung eingestellt ist in den Programmeinstellungen nicht umgerechnet. Währungen werden mit 3 Nachkommastellen gelistet usw. Die Auswahl ist somit nicht unwichtig. Ist ein Markt dem Wertpapiertyp "Devisen" zugeordnet gelten alle zugeordneten Titel als "Devisen"-Einträge. Kursaktualisierung Für eine Aktie gilt deren Aktualisierungsgruppe als zu verwendendes Aktualisierungsprofil. Für neue Aktien wird dabei immer die Marktzuordnung für die Initialisierung verwendet. Börsen Angabe von Courtagewerten werden für die Gebührenberechnung benötigt. Die Einstellung wird bei der Transaktionseingabe ausgewertet. Hierzu achten Sie bitte auf das Auswahlfeld Börse im Eingabeformular für Transaktionen. Optionale Einstellungen ohne weitere programmatische Verwendung Die Bemerkungen für eine Börse Öffnungszeiten Aktiensplitts Technischer Hintergrund In Shareholder wird keine interne Splittabelle geführt für die Aktien, dass heißt historische Kursdaten müssen nach einem Splitt um den Splittfaktor bereinigt werden. Alle zum Kurs in Bezug stehender Wertangaben sind dabei mit zu berücksichtigen. Dazu gehören Transaktionen und dessen Ausführungskurs/Stückzahl sowie Gewinnschätzungen/ Kennzahlen einer Gesellschaft. Beide Angaben werden nach einem Splitt nach Rückfrage automatisch angepaßt. Eingabe Aktiensplitts können über die Kursliste in den Stammdaten oder in der Transaktionsliste durchgeführt werden. In beiden Fällen ist das dazugehörigen Kontextmenü zu öffnen und der Menüpunkt "Aktiensplitt" auszuwählen. Möglichkeiten Transaktionsliste Stammdaten-Kurslistenreiter: Grundprinzip Es werden alle zuvor markierten Elemente entsprechend einem eingegebenen Splittkurs angepasst. Vorhandene Transaktionen auf diesen Wert werden ebenfalls entsprechend einer manuellen Selektion umgerechnet in Stückzahl und Kurs. Arbeitsschritte 1. 2. 3. 4. Stammdaten öffnen und Kurse als Reiter wählen Zu bereinigende Kursdaten mit der Shift/Strg-Taste markieren Kontextmenü öffnen und "Aktiensplitt" auswählen oder in der Toolbar "Splitts" Im Eingabeformular Tauschverhältnis eingeben UND alle betroffenen Transaktionen (es erfolgt dabei eine automatisch Selektion auf Basis des Datums vorweg) wieder mit STRG/Shift markieren. Das Tauschverhältnis ist mit Fließkommazahlen möglich d.h. 1:4 und zurück mit 1:0,25. 5. Das Sperrdatum in den Stammdaten sollte immer dann gesetzt werden, wenn manuelle Bereinigungen stattgefunden haben. Das Sperrdatum sorgt dafür, dass bei Aktualisierungen die Kursdaten nicht überschrieben werden können. Standardbeispiel hier: Yahoo lieferte noch Wochen nach dem Aktiensplitt unkorregierte Kursdaten zurück. Mit jeder Kursaktualisierung zerstören Sie sich so immer wieder die manuell korregierten Kursdaten. Das Sperrdatum gilt inklusive dem gesetzten Tag. Autoimport von Stammdaten Ziel Mit einer Konfigurationsdatei (siehe im Datenverzeichnis : "Stammdaten.Autoimport.ini ") definieren Sie alle abzurufenden Webseiten und den zugehörigen Filter für den Auto-Import von Stammdaten aus konfigurierbaren Internet-Quelladressen. Der Import wird immer automatisch gestartet, wenn ein ISIN/Name/WKN gesucht wird, die in den bisherigen Stammdaten nicht vorhanden ist. Die manuelle Anlage soll damit soweit wie möglich vermieden werden. Abgrenzung Die Zuordnung eines Titels zu einer Aktualisierungsgruppe / Markt muss dennoch manuell erfolgen, da es hierfür keine sinnvollen Matching-Logiken gibt. Diese Zuordnung wird automatisch vorgenommen Funtionsweise Der Autoimport unterstützt über die konfigurierbare INI-Datei praktisch beliebig viele Quelladressen. Es werden dabei sowohl HTTP, als auch HTTPS-Adressen unterstützt, ebenso Webseiten mit zwangsweiser Javascript-Nutzung. Dies wird sichergestellt über die Nutzung des lokalen Internet-Explorers (ActiveX-Control). Aufbau der Konfigurationsdatei Es werden Sectionen mit [ ] definiert. Diese Sectionen werden der Reihenfolge nach durchlaufen, bis erfolgreich die Daten ermittelt werden konnten Erfolgreich ist der Import, wenn eine ISIN, WKN und der Name ermittelt werden konnte Es gibt prinzipiell immer 3 BaseURLs, die genutzt werden können, um eine Abfrage auf einer Website zu nutzen z.B. für einen speziellen Zertifikate, OS und Fonds-Bereich. Für die Suche wird dabei ein { Lookup }-Variable verwendet, die den eingegebenem Such-String des Anwenders entspricht Ob die Daten einer Basis-URLs verwendet werden können, kann mit einem "cBaseURLSuccessCheck"-Wert geprüft werden. Hierbei wird praktisch die Zeichenkette auf Vorhandensein in der Ergebnisseite geprüft Alle cPos*Werte wie cPosName, cPosWKN werden nacheinander gefüllt auf Basis des hinterlegten Such-Strings. Dabei wird die Variable { SEARCH } gefüllt und für die späteren Stammdaten verwendet Die Suche in den Sectionen wird nach dem ersten Treffer bereits beendet um wertvolle Suchzeit zu vermeiden Beispiel-Konfiguration [Auto-Import-comdirect] cBaseURL1=http://www.comdirect.de/inf/search/all.html?SEARCH_VALUE={Lookup} cBaseURL2= cBaseURL3= cBaseURLSuccessCheck=<div class="keyfocusCol1" id="keyelement_kurs_update"> cPosName =<title>{SEARCH} cPosWKN =<a href="/tx/index.jsp?ziel=livetrading&wpkennung={SEARCH}& cPosISIN =<td class="left">ISIN</td><td class="right">{SEARCH}</td> cPosShortname= cPosBranche=<td class="left">Branche</td><td class="right"><span title="{SEARCH}"> cPosFondskategorie= cPosKurs=<p class="price"><span>{SEARCH} EUR</span> cPosBasiswert= cPosWaehrung=<td class="left">Währung</td><td class="right">{SEARCH}</td> cPosCountry= cPosWPArt=<td class="left">Wertpapiertyp</td><td class="right">{SEARCH}</td> cPosEmittent= cPosLaufzeit= cPosBV= cPosProduktName= cPosErgebnis= cPosDividende= cPosCashflow= cPosSymbolNr=<td class="left">Symbol</td><td class="right">{SEARCH}</td> cPosKnockOut= cPosBasispreis= cPosSektor= [Auto-Import-onVista] cBaseURL1=http://aktien.onvista.de/suche.html?SEARCH_VALUE={Lookup}&SELECTED_TOOL=ALL_ TOOLS&FROM_TOOL=STO&SELECTED_ID=ISIN cBaseURL2=http://aktien.onvista.de/suche.html?SEARCH_VALUE={Lookup}&SELECTED_TOOL=STO& FROM_TOOL=STO&SELECTED_ID=ISIN cBaseURL3=http://aktien.onvista.de/suche.html?SEARCH_VALUE={Lookup}&SELECTED_TOOL=FUN& FROM_TOOL=STO&SELECTED_ID=ISIN cPosName=<h2 class="BOX_HEADLINE">Alle Kurse zu {SEARCH}</h2> cBaseURLSuccessCheck=<a href="#" class="ZUR_WATCHLIST" title="Klicken Sie auf das Symbol, um den Wert in Ihrer Favoritenliste zu beobachten." cPosWKN=WKN</dt><dd>{SEARCH}<span cPosISIN=<dt>ISIN</dt><dd property="schema:productID">{SEARCH}</dd> cPosShortname= cPosBranche=<dt>Branche</dt><dd>{SEARCH}</dd> cPosKurs=<span class="s2gb">{SEARCH} cPosBasiswert= cPosWaehrung=<dt>Nennwert</dt><dd>{SEARCH}</dd> cPosCountry= cPosWPArt= cPosEmittent= cPosLaufzeit= cPosBV= cPosProduktName= cPosErgebnis= cPosDividende= cPosCashflow= cPosSymbolNr= cPosKnockOut= cPosBasispreis= cPosSektor= Automatischer Import von Börse-Online-Statistiken Registierung Premium Bereich Um die Statistiken von Börse Online verwenden zu können, muss eine Registrierung für den entsprechenden Premium-Bereich vorliegen. Als Abonnent des Magazins BÖRSE ONLINE können zusätzlich alle exklusiven Angebote für Magazin-Abonnenten unter www.boerse-online.de uneingeschränkt genutzt werden - ohne zusätzliche Kosten. Hierzu müssen mit Ihrer BÖRSE ONLINE Abo-Nummer die Zugangsdaten angefordert werden. Details finden Sie hier: http://www.boerse-online.de/premium Statistik-Excelliste Im Premiumbereich wird eine täglich aktualisierte Unternehmensdatenstatistik bereitgestellt als Excel-Tabelle. Um die Downloadmengen gering zu halten, wird eine Basisexceldatei bereitgestellt. Diese wird dann wöchentlich mit einer Updatedatei aktualisiert. Hierzu muss diese Datei heruntergeladen und in das selbe Verzeichnis wie die Basisdatei gelegt werden. Danach kann über die Exceldatei ein Aktualisierungsmakro aufgerufen werden. Arbeitsschritte Direktaktualisierung ohne Excel-Zwischenschritt Die Stammdaten können direkt aus der aktuellen Updatedatei eingelesen werden. Starten Sie hierzu einfach über den Import-Button. Vorraussetzung für die Aktualisierung Um die Daten erfolgreich von der Börse-Online-Statistik übernehmen zu können, müssen zunächst die Logindaten unter dem Hauptmenü.Einstellungen geändert werden. Zunächst reicht es hier aus den Loginnamen und das Kennwort festzulegen. Die Premium-URL wird als Loginadresse zur Anmeldung an den Premiumservice verwendet. Anschließend wird die Download-URL-XLS Adresse verwendet, um die Basis-Excel-Liste zu downloaden bzw. die zugehörige Updatedatei. Das Einstellungsmenü erlaubt Aktualisierungen dieser Adressen, falls Börse-Online seinen Premium-Service umstrukturieren sollte. Datenabgleich Folgende Daten werden mit der Statistik abgeglichen: Name Branche ISIN WKN Aktienstückzahl Umsatz Buchwert Cashflow Ergebnisse je Aktie für die vorhandenen Gewinnschätzungen (z.B. 1997-2006) Dividende je Aktie für die angegebenen Jahren (z.B. 1997-2006) Alle oben rot markierten Bereiche werden somit durch die BO-Statistik aktualisiert. Daraus ableitend, können im Programm berechnete Kennzahlen wie KGV, UMK, PEG usw. bereitgestellt werden. Diesen Aktualisierungsumfang leistet ein persönliches Research niemals und es für den Preis des BO-Abos kaum zu toppen. Importvorgang Um den Aktualisierungsvorgang und Import in Shareholder so einfach wie möglich zu halten, werden folgende Schritte automatisch durch Shareholder durchgeführt: Download der Aktualisierungsdatei Import der aktuellen Statistik in Shareholder zur Aktualisierung der Unternehmensdaten Abgleich wenn gewünscht gegen Watchlisten/Beobachtungslisten Damit der Vorgang erfolgreich abgeschlossen werden kann, müssen zuvor unter Hauptmenü.Einstellungen.BO die Logindaten für den Premiumbereich hinterlegt werden, da diese für den automatischen Download der Dateien benötigt werden. Auf Wunsch als Beobachtungslisten Positiv/Negativ Auf Wunsch werden nach Abschluss des Abgleichs Positiv/Negativ Watchlisten erzeugt. Positiv meint hier positiv veränderte Unternehmensgewinne. Negativ entsprechend übertragend. Bei der Aktualisierung werden Positive-Negative-Änderungen bei Unternehmensgewinnen mit grün oder rot markiert, sowie mit entsprechenden Prozentwerten für die Änderung beschrieben. Als Basis dient immer das eingestellte Basisjahr. Shareholder sollte so mindestens einmal wöchentlich mit den Statistikdaten aktualisiert werden! Datenformatbeschreibung Rechtliche Beschränkungen Die in Shareholder genutzten Daten-und Stammdateien sind ohne rechtliche Beschränkungen frei auszulesen oder auch extern modifizierbar. Allerdings kann von mir für Änderungen oder Anfragen zu den Formaten nur ein eingeschränkter Support vorgenommen werden, d.h. Anfragen per EMail zu diesem Thema können aus zeitgründen nicht in einer zeitlichen Frist garantiert werden. Die Formatbeschreibungen stellen den aktuellen Stand zum 07.05.2009 dar und werden von mir bei Änderung dokumentiert. Sie sollten bei Implementierung das interne Version-Flag dringend auswerten, so dass Sie passend reagieren können. Typenbeschreibung von Delphi 7 Integer -2147483648..2147483647 32 Bit, mit Vorzeichen Cardinal 0..4294967295 32 Bit, ohne Vorzeichen Shortint -128..127 8 Bit, mit Vorzeichen Smallint -32768..32767 16 Bit, mit Vorzeichen Longint -2147483648..2147483647 32 Bit, mit Vorzeichen Int64 -2^63..2^63-1 64 Bit, mit Vorzeichen Byte 0..255 8 Bit, ohne Vorzeichen Word 0..65535 16 Bit, ohne Vorzeichen Longword 0..4294967295 32 Bit, ohne Vorzeichen Real48 2.9 x 10^-39 .. 1.7 x 10^38 11-12 Stellen, 6 Byte Single 1.5 x 10^-45 .. 3.4 x 10^38 7-8 Stellen ,4 Byte Double 5.0 x 10^-324 .. 1.7 x 10^308 15-16 Stellen, 8 Byte Extended 3.6 x 10^-4951 .. 1.1 x 10^4932 19-20 Stellen, 10 Byte Comp -2^63+1 .. 2^63 -1 19-20 Stellen, 8 Byte Currency -922337203685477.5808.. 922337203685477.5807 19-20 Stellen, 8 Byte TDateTime wie Single FlatString Diesen Typ gibt es eigentlich nicht als nativen Typ in Delphi. Dieser ist ein aus Platzgründen eingefürhrter Typ der eine normale Zeichenkette beschreibt, die zunächst mit einem Word-Stream in seiner Länge gekennzeichnet wird. Ist die Len>0 wird anschließend die komplette Zeichenkette geschrieben, andernfalls passiert hier zunächst nichts weiter ... Kursdatendateien Grundsätzlich werden die historischen Kursdaten pro Wert als.SF2 abgelegt. Das Dateiformat ist ein Flat-File of Type TfStruktur, d.h. die Datei wird mit einer konstanten Länge pro Datensatz geschrieben. Es ist so intern ein Filebasierter Array-Zugriff möglich und realisiert. Für größere Aktualisierungsoperationen wird dennoch im Normalfall ein interner Cache aufgebaut und wieder zurückgeschrieben. Tageskursdaten werden nicht in dieser Datei abgelegt, sondern zusammen mit den Aktienstammdaten in einer seperaten Datei. Dies hat den Hintergrund, dass Tageskursdaten immer verdichtet werden auf ein historischen Tageskurs am nächsten Tag. type TfTableFile = File of TfStruktur type TfStruktur = packed Record Datum TDateTime Open Single High Single Low Single Close Single Volumen Int64 type THistoryItem Datum TDateTime Open Single High Single Low Single Close Single Volumen Int64 type TIntradayItem Datum TDateTime Close Single Volume Int64 Aktienstammdatendatei (Beschrieben für Versionsnummer: 9) Die Aktienstammdaten werden unter Daten\Stammdaten.Aktien.stm.R8 als unkomprimierte Datei im folgenden Format gespeichert. Grundsätzlich werden die Daten als untypisierter Stream gespeichert, womit die Datei immer sequientiell ausgelesen werden muss. Aktienstammdaten type TAktien Version Integer Eindeutige Versionsnummer für die Datei CreateNr Integer Fortlaufende Sequenz-Nummer für neu erzeugte Einträge CountItems Integer Anzahl der nachfolgenden Elemente Items for each (type TAktie) WKN FlatString Tablename FlatString Name FlatString Videotextname FlatString ISIN FlatString reserviert FlatString Markt Int64 Bit-Kombination der Markteinstellungen Aktienstueckzahl Single in Mio. Branche FlatString Umsatz Single CashFlow Single Buchwert Single Attr Integer Eindeutiger Verweis auf die Historientabelle in Mio. Bit-Kombination zur internen Kennzeichnung. Keine externe Verwendung sinnvoll. Tageskursdaten type TKurse Tag type THistoryItem Vortag type THistoryItem Intraday type TIntraday History-Submit-Date Revision Integer Eindeutige Versionsnummer Count Integer Anzahl folgender Datensätze für TIntradayItem Items for each (type Siehe nachfolgende Tabelle für Struktur TIntradayItem) TDateTime aus Performancegründen zwischengespeicherter Wert Unternehmensergebnisse type TUnternehmenesErgebnisse Version Integer Eindeutige Versionsnummer für die Datei CreateNr Integer Fortlaufende Sequenz-Nummer für neu erzeugte Einträge CountItems Integer Anzahl der nachfolgenden Elemente Items for each (type TUnternehmensergebnis) Jahrgang Integer Ergebnis Single Dividende Single type TVariablen Version Integer Eindeutige Versionsnummer CreateNr Integer Fortlaufende Sequenz-Nummer für neu erzeugte Einträge CountItems Integer Anzahl der nachfolgenden Elemente Items for each (type TVariable) ID Integer Value FlatString type TUnternehmensProfile Version Integer Eindeutige Versionsnummer CreateNr Integer Fortlaufende Sequenz-Nummer für neu erzeugte Einträge CountItems Integer Anzahl der nachfolgenden Elemente Items for each (type TProfile) ID Integer ReftoFile FlatString Referenz zu einer zu ladenden Profildatei Splitts type TSplitts Version Integer Eindeutige Versionsnummer CreateNr Integer Fortlaufende Sequenz-Nummer für neu erzeugte Einträge CountItems Integer Anzahl der nachfolgenden Elemente Items for each (type TSplit) Faktor Single Datum TDatetime LastHistoryDate Integer Trunc(History.Last), dies wird aus Performancegründen für die Verdichtung geschrieben (DS kann ignoriert werden, wenn Sysdate==LastHistoryDate) Shortname String Kurzname des Titels BasiswertISIN String ISIN des Basiswertes, insb. für OS/Zertifikate interessant Bezugsverhaeltnis1zu Single Bezugsverhältnis für OS/Zertifikate OSTyp Integer Optionsscheintyp; 1=Long, -1=Short OSLaufzeit DateTime Laufzeit des Scheines OSBasispreis Single Basispreis des Basiswertes für OS OSKnockout Single KnockOut-Schwelle für OS INetUpdateGroup Integer Referenz auf die zu nutzende Aktualisierungsgruppe des Titels Watchlist Int64 Watchlistenzuordnung Fundamentaldaten+ Integration neuer Möglichkeiten Zielveröffentlichung 13.4 Epos SHAREHOLDER-2238 - Stories zur Ergänzung, Optimierung und Nutzung von Fundamentaldaten OFFEN Dokumentstatus ENTWURF Dokumenteigentümer Jens Werschmoeller Designer Entwickler Jens Werschmoeller QS Ziele Abgleich der neuen Möglichkeiten zu Tai-Pan, um anschließend diese auch in Shareholder nutzen zu können Optimierung der vorhandenen Eingabemasken Optimierung der vorhandenen Visualisierungen insb. im Jahresvergleich (analog Tai-Pan-Funktionen) Ergänzung der vorhandenen Filtermöglichkeiten auf Fundamentaldaten Tatsächlicher Fundamentaldaten-Abgleich Hintergrund und strategische Eignung Die Zielgruppe von Shareholder nutzt sehr stark die Möglichkeiten der Fundamentalanalyse. Mit diesen Erweiterungen kann zudem ein gezielter Teaser gesetzt werden für fundamentale Auswertungen und Filter. Dies ist aktuell nur eingeschränkt möglich. Das Produkt könnte sogar hier strategisch platziert werden. Annahmen Umfangreiche, zusätzliche Fundamentaldaten durch Tai-Pan: Mit Convensys konnte einer der führenden deutschen Anbieter von Firmeninformationen als Datenlieferant gewonnen werden. Im Datenumfang sind zur Zeit mehr als 3000 deutsche und internationale Unternehmen enthalten. Updates erfolgen hier tagesaktuell nach Bekanntgabe neuer Daten. Anforderungen # 1 Überschrift SHAREHOLDER-2239 - Integration der neuen möglichen Fundamentaldaten in Lenz & Partner Tai-Pan 14 im Datenmodell von Shareholder GESCHLOSSEN User Story Wichtigkeit IStammdaten = interface(IDispatch) Voraussetzung function Get_Kennung: WideString; safecall; function Get_Kurzname: WideString; safecall; function Get_MaxKurse: Integer; safecall; function Get_Waehrung: WideString; safecall; function Get_Kurswarnung: Single; safecall; function Get_Boersenplatz: WideString; safecall; function Get_Land: WideString; safecall; function Get_Branche: WideString; safecall; function Get_HVTermin: TDateTime; safecall; function Get_Gewinn: Double; safecall; function Get_Dividende: Double; safecall; function Get_Cashflow: Double; safecall; function Get_Vergleichswert: WideString; safecall; function Get_Laufzeit: TDateTime; safecall; function Get_Zinssatz: Double; safecall; function Get_Kursfaktor: Word; safecall; function Get_Anzeige: WideString; safecall; function Get_Anlagegebiet: WideString; safecall; function Get_Segment: WideString; safecall; function Get_Emittent: WideString; safecall; function Get_Optionsart: WideString; safecall; function Get_Stueckzahl: Double; safecall; function Get_Bezugspreis: Double; safecall; function Get_Basiswert: WideString; safecall; function Get_Bezugsverhaeltnis1: Double; safecall; function Get_Bezugsverhaeltnis2: Double; safecall; function Get_Bereich: WideString; safecall; Notizen function Get_Produkt: WideString; safecall; function Get_Langname: WideString; safecall; function Get_BezugsWaehrung: WideString; safecall; function Get_Quanto: WordBool; safecall; function Get_Cap: Double; safecall; function Get_SicherheitsLevel: Double; safecall; function Get_KO_Barriere: Double; safecall; function Get_UntereGrenze: Double; safecall; function Get_ObereGrenze: Double; safecall; function Get_Partizipationsrate: Double; safecall; function Get_BonusLevel: Double; safecall; function Get_MaxAuszahlung: Double; safecall; function Get_SYMBOL: WideString; safecall; function Get_Typ: Wertpapierart; safecall; function Get_Nachkomma: Integer; safecall; x function Get_DividendeListe: IDividendeListe; safecall; function Get_MarktKapitalisierung: Double; safecall; function Get_EDGDate: TDateTime; safecall; function Get_EDGTopClass: Integer; safecall; function Get_EDGTopClassText: WideString; safecall; function Get_EDGScore(Ranking: Integer): Integer; safecall; function Get_EDGScoreText(Ranking: Integer): WideString; safecall; x function Get_GewinnListe: IGewinnListe; safecall; function Get_WebLink: WideString; safecall; function Get_IRWebLink: WideString; safecall; function Get_DividendenJahr: Integer; safecall; function Get_DividendenZusatz: Byte; safecall; function Get_GewinnJahr: Integer; safecall; function Get_GewinnZusatz: Byte; safecall; x function Get_DilutedEPSListe: IDilutedEPSListe; safecall; x function Get_CashFlowPerShareListe: ICashFlowPerShareListe; safecall; x function Get_BookValuePerShareListe: IBookValuePerShareListe; safecall; x function Get_SalesListe: ISalesListe; safecall; x function Get_EBITListe: IEBITListe; safecall; function Get_CashFlowZusatz: Byte; safecall; function Get_CashFlowJahr: Integer; safecall; function Get_AktienAnzahl: Largeuint; safecall; x function Get_NetIncomeListe: INetIncomeListe; safecall; function Get_FiskalJahrEnde: Integer; safecall; function Get_TickerSymbol: WideString; safecall; end 2 SHAREHOLDER-2240 - Erweiterung der Fundamentaldaten- Stammdaten - Eingabemasken für die neuen Möglichkeiten z.B. Weblinks, HV-Termin, Jahres-Umsatz, Jahres-EBIT, Jahres-Cashflow, Jahres-Buchwert etc. GESCHLOSSEN Die aktuellen Eingabemasken berücksichtigen die neuen Fundamentaldaten nicht. Hierbei werden sowohl inhaltliche neue Eingaben aufgenommen wie: Fiskal-Jahr-Ende Weblink Bereich Produkt Land HV-Termin KO-Barrie / Obere, untere Grenze EDGDate EDGTopClass (-Text) EDGScore Optimierungsfelder: Tai-Pan-Kennung Als auch multiple Jahresdaten für: Get_DividendeListe Get_DilutedEPSListe Get_CashFlowPerShareListe Get_BookValuePerShareListe Get_SalesListe Get_EBITListe Get_NetIncomeListe 3 SHAREHOLDER-2241 - Visualisierung der Jahresergebnisse eines Unternehmens für die relevanten Kennzahlen (Gewinn, Dividende, Umsatz, Buchwert, Cashflow, EBIT) inkl. der zugehörigen Kennzahlen GESCHLOSSEN 4 SHAREHOLDER-2242 - Einführung neuer Kennzahlen auf Basis der neuen Möglichkeiten für Fundamentaldaten für die Nutzung in Listen und Filtersystemen GESCHLOSSEN Grundsätzlich Neu: % Ebit-Marge FiskalJahrEnde HVTermin EDGScore Auswertungen auf Basis eines vergangenen Zeitraums: Avg-KGV-LastXYears(x: Int) Avg-DivR-LastXYears(x: Int) Avg-KBV-LastXYears(x: Int) Avg-KUV-LastXYears(x: Int) Avg-EbitMarge-LastXYears(x: Int) Avg-KCV-LastXYears(x: Int) Besondere Auswertungen auf Basis der Branche Avg-KGV-Branche, Avg-KGV-Branche-LastXYears(Bran che: String; x: Int) Avg-DivR-Branche ... 5 SHAREHOLDER-2243 - Ergänzung der vorhandenen Filtermöglichkeiten auf Fundamentaldaten GESCHLOSSEN Integration in die vorhandenen Filterfunktionen 6 SHAREHOLDER-2244 - Bereitstellung der neuen Fundamental-Kennzahlen auch in den Standard-Listen-Ansichten (HV-Termin, EBIT, EBIT-Marge etc.) GESCHLOSSEN siehe #4 für Auswertungen auf einen Zeitraum z.B. 5 Jahre und die grundsätzlich neuen Elemente! 7 SHAREHOLDER-2245 - Grundsätzlicher Fundamentaldaten-Abgleich GESCHLOSSEN Synch-Lauf für die vorhandenen Daten 8 SHAREHOLDER-2246 - Aktualisierung der Dokumentation für die neuen Möglichkeiten GESCHLOSSEN Dokumentation der neuen Features und Möglichkeiten im Wiki 9 SHAREHOLDER-2247 - "Fundamental"- Newsletter versenden OFFEN Teaser an die Nutzer von Shareholder Benutzerinteraktion und -design Mögliche Darstellungsform analog Tai-Pan für #3 Heutige Eingabemöglichkeit in Shareholder Offene dringende Aufgaben FormKursEdit Löschen bei count = 2 Hinzufügen bei count = 2 Alle Stammdaten berücksichtigen d.h. Auch die EdGScore,Zinssatz, Weblinks Berechnungslogik für KGV, KCV, KUV prüfen in der rückwärtigen Betrachtung Clonebetrachtung verwenden beim Editieren, damit Informationen auch verworfen werden können Basiswerteingabe mit Autosuggestion probieren Datenspeicherung Stammdaten+ aufnehmen eventl. auch prüfen, ob ein Typabhangige Speicherung von Key Value Paaren hier unterstützen kann Kursliste Neue Felder aufnehmen als Spalten in der Darstellung Langfristig alle ElTree Elemente aus der Nutzung nehmen insbesondere für Kurslisten, Depotdarstellung um v. LMDSoftware unabhängig zu werden FXCM Anbindung vornehmen Trading Tagebuch neu gestalten Kursgallerie Gleitende Kurse mit aufnehmen (optional) Fragen Unten finden Sie eine Liste von Fragen, die aufgrund dieses Anforderungsdokuments angesprochen werden müssen: Frage Ergebnis Wie kann eine ausreichende Abgrenzung zu Tai-Pan-Features erreicht werden d.h. wie ist eine Einzigartigkeit herzustellen? Verworfen Massenoperationen und Datenmanagement Hintergründe Die nachfolgenden Beschreibungen sind nur für Supportfälle beschrieben und für Kunden, die eine weitgehende Eingriffsmöglichkeit in die Datenbasis wünschen ohne Shareholder-Oberflächen und Funktionen nutzen zu müssen bzw. dadurch eingeschränkt zu werden. Bitte beachten Sie, dass Sie vor Datenmanipulationen eine Sicherung Ihrer Dateien ausführen. Bitte sehen Sie zudem von Veränderungen von Tabellenstrukturen ab, auch wenn Sie dies mit den bereitgestellten Tools können! Sollte dies dennoch notwendig sein, da Sie beispielsweise ODBC-Anbindungen wünschen und eigene Tools nutzen möchten, kontaktieren Sie mich bitte um die Kompatibilität zu gewährleisten! Ab der 2.10.3 Version ist es möglich über ein Datenmanager-Tool mit SQL92-Support (technischer Standard für Datenmanipulation und Datenabfragen für Datenbanken) Datenmanipulationen auf den vorhandenen Daten für Shareholder durchzuführen. Auch Datenabfragen zur Qualitätsprüfung sind nun jederzeit möglich. Durch den SQL-Support sind auch Skripte anlegbar, die wiederkehrende Abfragen und Operationen erlauben. Nachfolgend sollen hier einige davon genannt sein. Die Besonderheit gegenüber dem bisherigen Vorgehen ist, dass jede Form der Abfrage möglich ist, solange die Daten dies erlauben. Daneben sind echte Massenoperationen (über SQL-Update/Delete-Befehle) mit extrem hoher Performance durchführbar, um beispielsweise Bereinigungen durchzuführen. In der aktuellen 2.10.3.2 Version sind hier noch keine praxisrelevanten Operationen möglich, da nur die Kursdaten.ADB abgebildet ist, nicht aber die Stammdaten und die Depotdateien. Diese folgen mit den kommenden Versionen in Kürze. Datenbanktabellen \Daten\Database\Kursdaten.ADB \Daten\Database\Stammdaten.ADB \Daten\Database\Depot-*.ADB Einige Beispiele Titel die keine aktuelle Aktualisierung (letzten 3Tage) vorliegen haben select [ISIN] from [PriceHistory] where [Updated] < trunc(current_date)-3; Titel die bisher keine Kursdaten haben select [ISIN],[Count] from [PriceHistory] where [Count]=0; Alle Titel mit € - Kursdaten SELECT FROM WHERE and c.[shortname], p.[isin] [Currency] as c, [PriceHistory] as p p.[currency]=c.[id] c.[shortname]='€'; Erweiterung, so dass durch Shareholder die Kursdaten pro Titel in der korrekten Währung gespeichert werden ist in Arbeit. Datenbank verdichten nach größeren Löschungen von Titeln Wenn Einzeltitel in Shareholder gelöscht worden sind, kann von Shareholder aktuell (noch nicht) eine direkte Verdichtung der Datenbank-Datei vorgenommen werden, um auch physisch auf dem Datenträger den zugehörigen Speicherplatz freizugeben. Hierzu den Accuracer-Manager aufrufen und die zugehörige Kursdaten-Datei, die im Datenverzeichnis als Kursdaten.ADB abgelegt wird. Danach "Compact database" aufrufen. ab 13.2.2 direkt in Shareholder Die Funktion lässt sich auch direkt in Shareholder aufrufen zur Verdichtung der Datenbank. Es kann so z.B. nach Massenlöschungen auch der zugehörige Speicherplatz in der Kursdatenbank freigegeben werden. Die Funktion findet sich im Hauptmenü unter Extras / Bereinigungen / Datenbank verdichten Speicherplatz sparen mit Kompression Es ist technisch möglich zu Lasten der Performance die Datenbank komprimiert abzulegen. Aktuell ist auch dies nur über das separate Accuracer-Manager-Tool möglich. Hierzu auf die Tabelle gehen und mit <Strg><S> die Restructure-Funktion starten. Hier kann nun nach eigenen Vorlieben die Kompressionsrate hinterlegt werden pro Feld. Persönliche Empfehlung ist hierbei folgendes Setup: 1. 2. 3. 4. Auswahl des Feldes "History" und Auswahl von BZIP mit Compression-Mode 5 Übernahme der Änderung mit dem kleinen Häkchen (links unterhalb der Feld-Liste). Mit OK alle Modifikationen auf die Tabellenstruktur übernehmen Vorgang abwarten, da dieser mehrere Minuten dauern kann und im Zweifel auch den Rechner insg. durch die hohe Rechenlast blockiert. Hier bitte etwas Geduld! 5. Danach über das Hauptmenü "Compact Database" starten und wieder einige Geduld mitbringen für ca. >=2min Auf meinem Referenzsystem sind von den 700MB - Kursdatendatei so noch ca. 193MB übrig d.h. auf 27% reduziert . Die Performance ist je nach System hiervon jedoch mehr oder weniger betroffen. Auf meinem Referenzsystem haben sich die Ladezeiten von 1,5s auf 6s verlängert. Auch die Kursaktualisierung über alle 10.000 - Titel über Tai-Pan verlangsamte sich von 5min auf ca. 10min. Aus diesem Grund bleibt auch die Standardauslieferung für die Kursdatendatei ohne Nutzung der Kompressions-Möglichkeiten. ab 13.2.2 direkt in Shareholder Die Funktion lässt sich auch direkt in Shareholder aufrufen zur Kompression der Kursdatendatenbank. Der hierbei eingesparte Speicherplatz beträgt bis zu 70%. Es werden technisch hierbei die vorhandenen BLOB-Felder auf BZIP-Level 9 umgestellt. Die Funktion findet sich im Hauptmenü unter Extras / Bereinigungen / "Datenbankkompression aktivieren". Technisch entspricht es den oben dargestellten Funktionen. Es ist jedoch nicht mehr das Datenmanager-Tool notwendig. Tools und Referenzen SQL-Referenz als XPS-Datei. Hinweis: XPS-Viewer von Microsoft notwendig. SQL-Referenz als PDF-Datei. Datenmanager-Tool Titelanlage für Aktie, Fonds, Zertifikat usw. Manuelle Eintragung Zunächst sollten Sie in die Kursliste des zugehörigen Marktsegmentes wechseln. Öffnen Sie das Kontextmenü mit der rechte Maustaste und wählen Sie "Neuen Titel". Danach können Sie die Stammdaten des Wertpapieres eingeben. Mindesteingaben für die Neuanlage Für die Neuanlage von Werten sind folgende Daten elementar um in Shareholder genutzt werden zu können: ISIN (Onlinepannel und einige Aktualisierungsadressen nutzen direkt die ISIN). Sollte keine ISIN eingegeben werden, wird automatisch eine fortlaufende Nummer generiert. Hierzu ist nur die ISIN-Nummer komplett leerzulassen. Name (Anzeige in allen Listen, Auswahlelementen usw.) Marktzuordnung (Zur Zeit notwendig, da Titel sonst nicht effektiv in Marktlisten organisiert werden können. Eine Spezialliste "Ohne Einordnung" steht nicht zur Verfügung.) Automatischer Import von Stammdaten Es gibt einige Möglichkeiten um eine umständliche manuelle Pflege zu verhindern: Börse-Online-Statistik-Import, womit auch Titel automatisch angelegt werden können Automatischer Titelimport insb. für Fonds, Zertifikate und Optionsscheine OnVista Tai-Pan® End-Of-Day (EOD) Tai-Pan® Realtime Eine manuelle Datenpflege ist nur noch in Ausnahmefällen notwendig. Automatischer Titelimport Der automatische Datenimport erfolgt immer dann, wenn ein Titel in der eigene Stammdaten-Datenbank nicht gefunden werden kann. Der Autoimport wird dabei automatisch aus allen sinnvollen Kombinationen heraus gestartet. Dies ist somit: Eingabe im Transaktionsfenster (Kaufen/Verkaufen) Suche in den Kurslisten Anwendung Die Suche erfolgt dabei sowohl in Tai-Pan EOD als auch in Tai-Pan RT und OnVista (http://www.onVista.de) Wird ein Titel in eines der Systeme gefunden wird dieser in einer Liste mit allen zugeordneten Daten gezeigt. Eine Übernahme ist dann einfach über die Auswahl mit dem Radiobutton und dem Symbolleisten-Button "Markierten Titel übernehmen" zu starten. Der Titel wird dann sofort vollständig übernommen. Das Programm kann den Titel dann direkt weiterverwenden. Sofern möglich erfolgt hierbei auch eine automatische Kursdatenaktualisierung, die insb. für das Positionsmanagement in Transaktionsmasken wichtig ist (z.B. Berechnung der empfohlenden Stückzahl). Aktualisierungsumfang Die Datenübernahme erfolgt soweit es die Daten vom Datenanbieter erlauben, d.h. ISIN, WKN, Name, Shortname, Branche, Laufzeit Basiswert, Bezugsverhältnis Ergebnis je Aktie, Dividende je Aktie Letzte Tickermeldungen Historische Kursdaten ebenso wie den letzten Tagessatz Die Marktzuordnung wird automatisch pro Titel manuell abgefragt, da eine automatische Zuordnung leider nicht möglich ist. Besonderheiten OnVista Mehrfachsuchen sind für Onvista nicht möglich. Es können nur Einzeltitel aufgelöst werden. So ist die Suche nur dann erfolgreich, wenn OnVista nur ein Einzeltitel zurückgeben kann. Wenn die Suche mit einer ISIN oder WKN gestartet wird, kann zudem die Suche beschleunigt werden. Bei Fonds gibt es zudem oftmals keine Möglichkeit der automatischen Auswertung, da die Kursdaten nicht verwertbar bereitgestellt werden z.B. durch Mehrfachverschachtelungen der Stammdaten. Beispiel Anlage X-Endlos Turbo Optionsschein DE000TBX0MT2 Vorgehen in 3 Schritten Sie können grundsätzlich manuell Titel anlegen. Sie sollten jedoch immer versuchen zunächst den Autoimport zur Hilfe zu nehmen, da selbst bei Misserfolg der Suchen über Tai-Pan, Tai-Pan RT, Onvista automatisch ein Vorschlag für die manuelle Anlage vorgenommen wird. In diesem Beispiel wird von einer Marktliste aus im Suchfeld die ISIN eingegeben und mit <Enter> abgeschlossen (das gleiche können Sie auch direkt in der Transaktionsmaske machen): Sie erhalten dann zeitnah folgenden Dialog: Nach Auswahl und Speichern müssen Sie bestätigen in welchem Marktsegment der Titel liegt. In diesem Beispiel „Zertifikate". Hierzu kann einfach „Z" gedrückt werden, da eine Suche nach den eingegebenen Anfangsbuchstaben erfolgt in der Auswahlbox. Danach wieder "Speichern". Danach wird automatisch eine Aktualisierung vorgenommen und Sie erhalten bereits alles konfiguriert vorliegen: Automatisch vorgenommene Einstellungen Hierbei wurden folgende automatische Einstellungen vorgenommen: Wichtig hierbei (da insb. Onvista eigene Schlüssel pflegt für den Zugriff auf Titel) ist die Variablen-Festlegung: Sollten Sie bereits einen Titel manuell angelegt haben, dann diesen einfach löschen (Kontextmenü) und automatisch wie oben beschrieben neu anlegen lassen oder Sie korrigieren die Einstellungen (insb. für die Variable). Die "[isin]" in Variablennamen ist von mir so gewählt, da dahinter nicht die ISIN einzutragen ist, sondern dass die Variable intern über die ISIN aufgelöst wird. Damit wird bei Onvista mittels der ISIN die IDOSI gesucht. Dies erfolgt über folgende Internet-Variablen-Einstellungen (als Hintergrund): Titelanlage in Fremdwährung (z.B. US$) und Nutzung in der Hauptwährung (€) Titelanlage Am Beispiel US02209S1033 / Altria Group Aktie Um einen US$-Titel anzulegen, gehen Sie zunächst wie bei jedem anderen Titel vor. Sie sollten in die jeweilige Marktliste mit <F8> gehen, die zu dem Titel passt. Sollte kein geeignetes Marktsegment vorhanden sein, so muss zunächst unter Einstellungen / Märkte ein neuer Markt angelegt werden. In diesem Beispiel wird der Titel mit der ISIN, WKN, Name und der Marktzuordnung "Ausland in US$" hinterlegt. Der Titel kann in der Marktliste über "Titel anlegen" (in der oberen Titelleiste oder über r. Maustaste im Kontextmenü in den Marktlisten zu finden) erstellt werden. Sollte er in der Suche ( ) bereits gefunden werden, können die Stammdaten über Doppelklick auf den gefundenen Titel aufgerufen werden. Man erhält folgende Ansicht: Kursaktualisierung Danach kann bereits die optimale Kursdatenversorgung geprüft werden über den Reiter "Kursaktualisierung". Sie sollten dabei alle Kursaktualisierungsgruppen mit Rückgabe in US$ markieren, wenn Sie die US$-Werte an den umsatzstarken Heimatmärkten verwenden möchten. Dies sollte der Standard sein, da Sie zwar auch Xetra etc. Werte oftmals nutzen können, diese Märkte aufgrund des geringen Handelsvolumens aber oftmals verfälscht sind. Die Umrechnung der Werte in € erfolgt über die Zuordnung des Titel zu einem Markt und dem zugehörigen Devisenkurs. Danach der "Selektiven Prüfung" sollten Sie die Kursaktualisierungsgruppe wählen, wo Sie die meisten Kursdaten (Anzahl EOD) oder die beste Qualität (Vergleich Datum, Kurs) und die beste Antwortzeit vom Server (Zeit 1.) erhalten: Sie sollten die Aktualisierungsgruppe daher auf: einstellen. Danach direkt "Speichern" und nach Selektion des Titel eine komplette Kursaktualisierung für den Titel z.B. mit <Strg><F5> durchführen und im Chart das Ergebnis prüfen: Dies schaut damit weitgehend i.O. aus. Der Titel ist in dem Moment in US$ gelistet und geführt. Depotnutzung des Titels Hierzu den Titel einfach "Kaufen" über die verschiedenen Möglichkeiten z.B. Bitte achten Sie in der Kaufmaske auf die Eingabe des korrekten Währungskurses: Danach erscheint der Titel dann im Depot auch korrekt zunächst mit US$ unter AK. Unter Wert steht nun aber ein "Umrechnungswert" in €. Die Umrechnung erfolgt über den Umrechnungskurs, der zusätzlich auch eingeblendet werden kann. Hierzu einfach die Spalten (r. Maustaste über die Spaltenköpfe) einblenden: Bitte prüfen Sie hier insb. auch immer den Kaufkurs (KK), der in der Kaufmaske auch entsprechend zu hinterlegen ist unter Währung. Wird der KK nicht korrekt hinterlegt, erfolgt entsprechend leider auch eine fehlerhafte Umrechnung. Titelanlage und Management für CFDs Verwaltete Daten für CFD-Titel Unter der Voraussetzung das IgMarkets als Broker verwendet wird, benötigt es lediglich 2 Voraussetzungen um die Daten importieren und verwenden zu können: Anlage eines IgMarkets-Kontos für die Zuordnung neuer Transaktionen Anlage eines CFD-Markets für die Zuordnung automatisch neu angelegter CFD-Titel. Diese werden dann automatisch diesem Titel zugeordnet Um mit CFD-Scheinen umzugehen sind intern folgende Informationen verwaltet: Über CFD-Titel in den Stammdaten: Margin-Größe pro Kontrakt, Typische Kontraktgröße pro Titel und der interne CFD-Titel, der bei den Imports für Zuordnungen genutzt wird. Mehr Daten werden als Stammdaten nicht benötigt. Beim Import von IgMarkets wird die Margin-Größe nur mit Datentabellen abgeglichen. Diese sind aber nicht vollständig, so dass die Margin-Größe bitte immer nachzukontrollieren ist. Hierzu einfach in die Marktlisten (<F8>) gehen und dort die CFD-Titel anzeigen lassen. Die Stammdaten lassen sich natürlich wie gewohnt durch Doppelklick auf den Titel öffnen. Dies sind dann direkt auf der Startseite des Formulars sichtbar. Für die Verwaltung der Transaktionsdaten werden einige Zusatzinformationen verwaltet, wie hier auch nachfolgend rot markiert zu sehen: Hierbei geht es vor allem um die Kontraktgröße (nicht zu verwechseln mit Anzahl/Stk), Währungsumrechnung, Spread und Gewinn-und-Verlust (GuV). Die Kontraktgröße ist bei diesem Wall-Street (1€ Kontakt) natürlich 1. Der Spread ist abhängig vom Broker, von der Handelszeit und teilweise von der Volatilität am Markt. Diese wird daher nur vorgeschlager abgeleitet vom Titel und von der Handelszeit während es IgMarket-Imports übernommen. Die Währungsumrechnung wird insb. bei $-Kontakten benötigt und wird beim Buy/Sell erfasst. Ergebnis-Anzeige In der Transaktionsansicht lässt sich über die Spalten-Einstellungen sehr unterschiedliche Informationen ein-und ausblenden. Hier die Standardanzeige. Spalten mit [..] können dabei durch Anklicken der ... genutzt werden, um die Gesamtdaten zu filtern. Insb. die Ordernummer kann so bequem gefiltert werden (hier im Sceenshot nicht zu sehen). Die Stops-Anzeige wird bei IgMarket-Import automatisch belegt, kann aber auch manuell überschrieben werden (siehe oben "Anmerkungen für die Stopkurs-Setzung). Details stehen unter "Import aus Daten vom IgMarket-CFD-Trading-Konto (www.igmarkets.com)" Titelstammdaten und Märkte importieren Aus CSV-Dateien Um ganze Markt/Katalogstrukturen importieren zu können, ist in den Markteinstellungen (Hauptmenü. Einstellungen. Märkte) ein entsprechender Import von Listen realisiert. Der Aufbau der Listen wird über ein frei definierbares Importformat festgelegt, was mit "Strukturliste*" beginnt. Um ein Import durchzuführen, sollte zunächst ein passender Markt angelegt oder auswählt werden. Danach muss ein Strukturformat gewählt werden als zu nutzendes Importformat. Danach kann der Import beginnen über und den Button "Marktliste auslesen" wählen. Bei Erfolg werden die neu hinzugenommenen Werte angezeigt. Der Import legt noch nicht vorhandene Titel mit den gegebenen Daten innerhalb des selektierten Marktes an. Export Marktstrukturdaten Unter den Markteinstellungen kann parallel zum Import auch ein entsprechender Export von Stammdaten vorgenommen werden. Das Exportformat ist hierbei in Grenzen frei festlegbar. Aus Tai-Pan EOD-Katalogdaten Aufruf über Hauptmenü Aktualisieren / Tai-Pan Katalogansicht: Arbeitsschritte Selektion der gewünschten Kataloge zur Aktualisierung In Tai-Pan® können sehr viele Kataloge nebeneinandere gepflegt werden. Damit die Auswahl von Shareholder erleichtet wird, ist die Nutzung von internen Filterpatters möglich. Hierzu existiert ein interner Patternparser, wie er auch im Filtersystem genutzt wird. Im Standard sind bereits die wesentlich Selektionen enthalten: Als Grundlage dient hier die Funktion "Katalog" die so beliebig eingegrenzt werden kann. Die Verknüpfung mit UND (&) und ODER(|) ist möglich z.B. (Katalog=????Nem* | Katalog =????Neuer* | Katalog = *AX*) & (Katalog=!*Scheine* & Katalog=!*OS*) Auswertung und Prüfung der Aktualisierung Der Abgleich von Kursaktualisierung ist teilweise sehr mühsam. Entsprechend kann intern ein Prüfung auf den durchgeführten Aktualisierungsumfang vorgenommen werden. Es kann so systematisch ein Abgleich mit dem Tai-Pan® und dem System vorgenommen werden. Einstellungen Aktualisierungsumfang Stammdaten sind bei dieser Form der Aktualisierung: Name, Shortname, Cash, Gewinn, Branche, ISIN, WKN Kursdaten Exklusiv - Hier werden alle bisherigen Kursdaten des Titels gelöscht und die Daten aus dem Tai-Pan® System übernommen. Zeitraum Um nicht immer alle Daten unnötig zu aktualisieren kann eine Aktualisierungszeitraum festgelegt werden. Die Standardeinstellung ist Alles. Die Performanceunterschiede sind nicht bahnbrechend, so dass dies tatsächlich als Standardeinstellung Sinn macht. Datenübernahme Neue Werte - Werden in Tai-Pan® Titel geführt in einem ausgewählten Katalog, die so in Shareholder nicht auffindbar sind, so wird dieser Titel nach Rückfrage in Shareholder angelegt. Markteinstellung übernehmen - Da bei Neuordnungen von Marktzuordnungen die manuelle Sortierung teilweise sehr langwierig sein kann, wird die komplette Übernahme von Markteinstellungen aus Tai-Pan® unterstützt. Hier wird nach Rückfrage des Users die Markteinstellung für einen Katalog gesetzt und dann für alle gefundenen Titel des Kataloges übernommen. Unbekannte Kataloge in Shareholder übernehmen, bewirkt tatsächlich für alle selektierten Kataloge, die ohne die Taipan-Katalognummern, in Shareholder nicht existieren, dass diese angelegt werden. Unternehmensbeschreibung Hintergrund Unternehmensprofile werden als *.PR Dateien im \Profilverzeichnis als komprimierte HTML Dateien abgelegt. Die Nutzung von Bildern ist dabei nicht zulässig. Unternehmensprofile werden mit folgendem Schema abgelegt: Profilherkunft+Symbol+.PR. Somit ergibt sich beispielsweise für die Unternehmensbeschreibung des Comdirectservers für Daimler : "ComdirectDCX.ECR.PR". Es können in Shareholder mehrere Unternehmenbeschreibungen gespeichert werden. Für die Beschreibungen vom Comdirectserver wird durch das Programm eine automatische Aktualisierung organisiert. Dies meint jedoch nur den einmaligen Ausleseprozeß, sofern vom Server noch keine Profildatei angelegt werden konnte. Eine automatische nachträgliche Aktualisierung bei Änderung der Beschreibung auf dem Server ist nicht eingeschlossen. Aufruf Eine Unternehmensbeschreibung wird innerhalb einer Kursanzeige unter der Spalte "Zeit" durch einen Klick mit der linken Maustaste auf das Symbol aufgerufen. Daten hinterlegen Um diese tatsächlich mit Daten zu hinterlegen muss in den Markteinstellungen in der Profilgruppe eine zu verwendende Aktualisierungsadresse hinterlegt werden: Hier sind grundsätzlich mehrere Adressen hinterlegbar. Die Aktualisierung erfolgt einmalig für jeden Wert. Damit überhaupt eine Aktualisierung erfolgt muss unter Hauptmenu. Kurse . Internet Filter das Update der Beschreibungen aktiviert sein. Damit eine Adresse für Profile verwendet werden kann, muss unter Hauptmenü. Einstellungen. Internetadressen der Typ auf "Profil" gesetzt worden sein. Einstellungen Automatische JOB-Ausführung (Auto-Execute-Möglichkeiten) Ziel Um die automatische Ausführung mit bestimmten zeitintensiven und auch oft regelmäßigen Jobs zu erlauben, gibt es aber der .13 Version die Möglichkeit einer über Programm-Parameter gesteuerten automatischen Ausführung von Jobs. Anwendungsfälle sind hierfür automatisch laufende Kursdaten-Aktualisierungen im Hintergrund um 18:00 Uhr, um kurz danach in Ruhe mit den aktuellen Kursdaten sich einen Marktüberblick zu verschaffen. Es können aber auch die Börse-Online-Statistiken + Kursaktualisierungen auf einem zentralen Mietserver vorgenommen werden und die Daten automatisch verteilt werden auf verschiedene Rechnersysteme. Aufruf Hierbei wird als Programmparameter zu AUTO-EXECUTE lediglich mit : getrennt der Pfad oder der Dateiname der zu nutzenden Steuerungsdatei (INI-Datei) übergeben. Dies erlaubt die Ausführung unterschiedlicher Job-Steuerungsprofile. Die eigentliche Job-Detail-Beschreibung liegt so in der INI-Datei selbst. "...\proSoft24\Shareholder\Shareholder.exe" -AUTO-EXECUTE:<PATH\INIFile|INIFile> z.B: "C:\Program Files (x86)\proSoft24\Shareholder\Shareholder.exe" -AUTO-EXECUTE:autoupdate.ini Aufbau der INI-Datei Es gibt hierbei 3 wesentliche Sektionen in der INI-Datei: pre-actions: Zur Ausführung von Vorbereitungs-Skripten direkt mit Programmstart z.B. um bestimmte Einstellungsdateien aus einem Pool heraus zu kopieren. In dem Moment sind noch keine Einstellungen/Dateien für Shareholder geladen auto-execute: Festlegung der automatisch auszuführenden Shareholder-Events und dessen Detail-Einstellungen post-actions: Zur Ausführung von Nachbereitungs-Skrpten direkt nach dem Programmstart z.B. um bestimmten Einstellungen, Dateien anschließend im Netzwerk zu verteilen, zu sichern etc. [pre-actions] # Automatische Ausführung beim Start von Shareholder, wenn das Script existiert und doPreAction=1 # Zu diesem Zeitpunkt existiert noch kein Shareholder-Objekt oder Formular, d.h. keine Datei im Filesystem wurde von Shareholder gelesen, geöffnet oder ist im Zugriff. Damit # werde auch Recovery-Scripte / Transfer-Scripte für das Datenverzeichnis möglich doPreAction=1 script=C:\Dropbox\transfer\Auto-Execute-Shareholder\auto-execute-pre-action.cmd [auto-execute] # Automatisch den OnlineManager von Tai-Pan aufrufen für die Online-Kursaktualisierung von Tai-Pan # Entspricht Toolbar / Setup-Tai-Pan / Aktualisierung doTaipanOnlineUpdate=1 # Automatisch den Tai-Pan-Filter aufrufen mit den mitgegebenen UseProfile oder dem Default-Setup (letzte genutzte Einstellung) # Entspricht Menü / Aktualisieren / Tai-Pan-Filter doTaipanFilterUpdate=1 doTaipanFilterUseProfile=Daten\Default-Tai-Pan.Filter.Profile.stm ## Automatisch den Internet-Filter aufrufen mit den mitgegebenen UseProfile oder dem Default-Setup (letzte genutzte Einstellung) # Entspricht Menü / Aktualisieren / Internet-Filter doInternetFilterUpdate=1 doInternetFilterUseProfile=Daten\Default-Internet.Filter.Profile.stm doReportInternetFilterUpdateErrors=1 doReportInternetFilterUpdateErrorsToMail=support@shareholder24.de ## Automatisch die Börse-Online-Statistiken aktualisieren # Entspricht Menü / Aktualisieren / Börse-Online-Statistiken doBoerseOnlineUpdate=1 # Automatische Durchführung einer Sicherung # Entspricht Menü / Extras / Sicherung doCreateBackup=1 # Nutze Datumsformat dd.mm.yyyy oder Anzahl Tage z.B. 100 doCreateBackupFor=200 # Ermöglicht die automatische Ausführung des Abgleichs mit dem FXCM-Konto doFXCMUpdate=1 # Klartextkennwort für den Login doFXCMUpdateLoginPassword= # Ermöglicht die Nutzung eines spezifisches Depots insb. für den Abgleich mit FXCM-Imports etc. doLoadDepotFileName=Test.DepotR2 [post-actions] # Automatische Ausführung nach dem Start von Shareholder, wenn das Script existiert und doPostAction=1 # Zu diesem Zeitpunkt sind bereits alle Shareholder-Objekte gespeichert, Formulare geschlossen und alle Dateien aktuell ins Filesystem geschrieben. Damit # werden Backup-Scripte möglich, die spezielle Sicherungsmethoden umsetzen oder Dateien z.B. in eine Cloud sichern doPostAction=1 script=C:\Dropbox\transfer\Auto-Execute-Shareholder\auto-execute-post-action.cmd Nutzung der Profile für Internetaktualisierung und Tai-Pan-Aktualisierungen Sie können die Profile nutzen in den Einstellungsdialogen, um bei der Aktualisierung ausgewählte Marktlisten auszuwählen und zu aktualisieren. Sie müssen hierzu einmalig die Einstellungen/Selektionen in Shareholder vornehmen und speichern. Sie erhalten dann im \Daten-Verzeichnis gleichnamige <Name>.Filter.Profile.STM-Dateien. Auf diese können Sie referenzieren und diese damit für die Aktualisierung auch nutzen. Börsen Entscheidungen FXCM - Broker - Schnittstelle Voraussetzungen Damit die Schnittstelle genutzt werden kann, muss eine entsprechende Order-Schnittstelle des Herstellers installiert werden. Die aktuellen Version finden sich hierbei unter: http://www.fxcodebase.com/wiki/index.php/Download#Beta_Release_.28Table_Manager.29 Installation der ForexConnectAPI z.B. https://files.fxcorporate.com/api/fxc-1.2.2/ForexConnectAPI-1.2.2-win32.zip ForexConnectAPI-COM-Server http://fxcodebase.com/bin/forexconnect/1.2.2/ForexConnectAPI-1.2.2-win32-COM.exe Die Reihenfolge muss bei der Installation eingehalten werden. Möglichkeiten Automatischer Abgleich der vorhandenen Orders Abgeschlossene Order Offene Order inkl. Stopp-Kurs-Daten Import von Kursdaten inkl. historischer Kursdatensätze. Dies ist insb. entscheidend, da die Forex, Rohstoff, CFD-Märkte hier spezifisch von FXCM sind und andere Datenquellen hier abweichende Kursdaten liefern würden. Einschränkungen Über die Order-Schnittstelle sind spätere automatische Handelsansätze durch Shareholder begleitet denkbar. Dies ist in der nativen Version über LUA-Skripte sinnvoller und wird daher auch zunächst nicht supported. Indikatoren Internetadressen - und Variablen Internet - Importformate siehe für den Gesamtzusammenhang unter Internetadressen - und Variablen Layoutanpassungen Schrift Sie können über das Hauptmenü Einstellungen / Anzeige das Aussehen von allen Prozentdarstellungen im Programm definieren. Grundsätzlich gilt immer die Anzeige: 1. Zeile: Absolutewerte (im Beispiel im 0,25) 2. Zeile: Prozente (im Beispiel mit 4,5%) Möglichkeiten Für beide Basiswerte lassen sich folgende Einstellungen vornehmen: Schriftart mit Größe, Form und Art Farbfestlegung, wenn erwünscht getrennt nach Positiven und Negativen Werten Ausrichtung der Information (Absolutwerte, Prozente) also links / rechts Probieren Sie ab besten einfach aus .... Das Einstellungsfenster ist von der Bedienung grausam und sollte überarbeitet werden. Ich habe einen entsprechenden Issue eingetankt unter: http://www.shareholder24.de/support/browse/SHAREHOLDER-259 Markteinstellungen Programmfunktionen Hintergrund Die Einstellungen des Programms werden im Datenverzeichnis in der Datei "Programm.Options.stm" abgelegt. Die Einstellungen sind dabei nicht Anwender bezogen bzw. Depot bezogen, sondern global für alle Nutzer gültig. Programmeinstellungen Währungskürzel wird in allen Währungspositionen (Zusammenfassungen, Reports ... ) genutzt. Dies ist allein ein Darstellungskürzel. Hiermit werden keinerlei Umrechnungen vorgenommen. Umrechnungsfaktor: Intern werden alle dargestellten Werte in € gespeichert. Sollten Sie eine andere Grundwährung zur Anzeige wünschen, kann hier ein fixer Umrechnungskurs eingegeben werden. Dieser ist allerdings fest. Depot: Das hier eingestellte Depot wird bei jedem Programmstart automatisch gestartet. Die Liste wird hierbei aus den vorhanden *.DEP Dateien (Depotdateien) im \Datenverzeichnis von Shareholder generiert. Sie können somit die Depotdateien einfach durch Kopieren in das Datenverzeichnis hinzufügen. Automatische Vorgänge: Die Zeiteinstellungen sind mit Sorgfalt zu wählen. Automatische Speicherung: Die automatische Speicherung wird mit 0 deaktiviert. Depotdateien und Aktienstammdaten werden bei jeder Speicherung (automatisch oder manuell) im Verzeichnis Shareholder\Daten\Backup als Sicherung abgelegt. Dies kann für eine manuelle Rückspielung genutzt werden. Videotextaktualisierung: Automatische Aktualisierung in Sekunden über Videotext. Für die Aktualisierung wird der aktuelle Auswahlfilter genutzt. Internetaktualisierung: Automatische Aktualisierung in Sekunden über Internet. Für die Aktualisierung wird der aktuelle Auswahlfilter genutzt. (Hauptmenü. Aktualisierung. Internet.Filter) Anzeige Das Startbild meint das Bild unter Hilfe.Info und wird wenn aktiviert beim Start der Software gezeigt. Minimieren: Minimieren von Shareholder zeigt Shareholder nicht in der Taskleiste sondern nur noch als Icon in der Iconleiste. Internet Internetzugangseinstellungen Timeout: Treten Probleme beim Zugriff auf eine Internetverbindung auf, so wird die hier eingestellte Zeit gewartet, bevor der Vorgang automatisch mit einem Fehler abgebrochen wird. Wer möchte kann die Internetverbindung bei Aktualisierungen davor und danach automatisch aufbauen/trennen lassen. Hierzu ist eine eingerichtete Internetverbindung unter den DFUE-Einstellungen von Windows notwendig. Eine Auswahlbox der installierten Verbindungen erlaubt die Vorauswahl der anzuwählenden Verbindung. Der automatische Verbindungsaufbau bezieht sich ausschließlich auf Kursaktualisierungen über Internet. Alle indirekten notwendigen Internetverbindungen über Tai-Pan®, Tai-Pan® RT, Onlineformularen, Versionsprüfungen (Hilfe.Auf neue Version prüfen) bauen die Internetverbindung nicht automatisch auf. Proxyeinstellungen Proxy: Wird am Arbeitsplatz für den Internetzugang ein vorgeschalteter Proxy verwendet, so sind hier zwingend die entsprechend verwendete Proxyadresse und dessen Port einzutragen. Sollten Sie die Adressdaten nicht genau kennen, fragen Sie Ihren Netzwerkadministrator oder schauen einfach in den Einstellungen Ihres Internetbrowsers nach. Sollte wirklich ein Proxy verwendet werden, so finden Sie in jedem Fall die entsprechende Eintragung in Ihrem Browser unter HTTP Proxy bzw. FTP Proxy. Ist eine Authentifizierung für den Proxy notwendig bitte die User/Passwortdaten nicht vergessen. Lassen Sie andernfalls die Felder leer. IE-Favoriten-Startordner Im Newsbrowser wird ein Startordner benötigt um in den Tabs die gefundenen Links (rekursiv) darzustellen. Angezeigt werden somit alle Favoriten-Ordner vom Internet-Explorer. Datenaktualisierungen Aus der History heraus wurden bei Videotextdaten die Tagesdaten am nachfolgenden Tag in die History geschrieben. So konnte bei täglicher Aktualisierung eine durchgehende Historie entstehen. Dieses Vorgehen ist nicht mehr zwingend ratsam, sodass der recht ressourcenhungrige Prozess beim Start der Software zum Speichern der Tagesdaten in die History deaktiviert werden kann, insb. bei ausschließlicher Nutzung von Internet/Tai-Pan® - Aktualisierungen. Tai-Pan® Für die Aktualisierung über Tai-Pan® stehen immer mehrere Börsenplätze zur Verfügung. Hier ist grundsätzlich eine Auswahl notwendig. Dies kann über zwei Varianten erfolgen. Eine sucht hier den umsatzstärksten Börsenplatz des Titels am Aktualisierungstag und die zweite verwendet immer den Standardbörsenplatz des Titels über die Zuordnung in den Stammdaten zu einem Markt (siehe Markteinstellungen - Defaultbörse). [ ] Nach einem Onlineupdate ... automatisch aktualisieren Um die Arbeit mit Tai-Pan® etwas angenehmer zu machen, kann direkt nach einem Onlineupdate (Strg-A) die aktuelle Kursliste (Watchliste, Depot) aktualisiert werden. Die Funktion ruft hierbei das EOD-Update für Tai-Pan® auf über eine Callback-Routine. Börse-Online-Premium Die Einstellungen hier sind notwendig um einen automatischen Abgleich zwischen der Börse-Online-Premium-Onlinedatenbank für Fundamentaldaten und den eigenen Stammdaten vorzunehmen. Da die Datenbank aus einer Basisexceldatei sowie einer Aktualisierungsdatei existiert sind die zugehörigen Daten hier hinterlegt für zukünftige Änderungen. Die Daten liegen in einem geschützten Bereich der Website und erfordern eine Authentifizierung mittels Username und Passwort. Die Daten sind hier einzupflegen vor einer Aktualisierung über Shareholder. Die Premium-URL beschreibt die Login-URL, d.h. die Website zur Anmeldung im Premiumbereich. Die Download-URL-XSL beschreibt die URL zum Download der Excel-Basisdatei. Die URL-Update entsprechend die Aktualisierungsdatei. Die Daten sollten nur in Ausnahmefällen manuell geändert werden. Berechnungen & Sortierungen Depot-Einzelposition-Gewinnberechnung: In der Depotansicht werden die Gewinn-Verlust-Einzelpositionen gezeigt. Um eine realistische Einschätzung der tatsächlichen Gewinnposition zu erhalten, können nach eigner Wahl Gebühren automatisch abgezogen werden vom fiktiven Gewinn/Verlust. Für die KGV-Berechnung kann das aktuelle Ergebnisjahr oder das nachfolgende verwendet werden, d.h. wenn wir heute den 05.04.2005 haben wird bei Aktuellem Jahr die Gewinnschätzung für das Basisjahr 2005 zur Berechnung herangezogen andernfalls das Basisjahr 2006. Dies setzt natürlich voraus dass Gewinnschätzungen überhaupt vorliegen für das nächste Jahr. In der Börse-Online-Onlinedatenbank wird ca. Mitte März auf das darauffolgende Jahr umgestellt bzw. die ersten Gewinnschätzungen gemacht. Rückfrage und Dialoge Chart-Speicherdialog Werden Änderungen in einem Chart vorgenommen, so wird automatisch beim Schließen des Charts ein Speicherdialog angezeigt. Mit den Einstellungen hier kann eine Standardantwort vorgegeben werden. Dies erleichtert bei häufigem Arbeiten mit den Charts die Arbeit nicht unwesentlich. Sonstige Programmfunktionen Programmstartparameter Als Parameter sind beim Programmstart folgende Eingaben möglich : NOPACK - Beim Programmstart wird der automatische Pack-Thread zum automatischen Umschreiben von Tagesdaten in die Historie unterdrückt. Per Default ist der Thread ohnehin in den Einstellungen deaktiviert. SILENTMODE - Übersteuert die Programmeinstellung für das Anzeige des Startbildschirmes. Der Parameter hat insb. für automatische Scripte eine Bedeutung SHUTDOWN - Nach Beendigung des Aktualisierungsvorgangs wird der Rechner heruntergefahren. Extras und Sonderfunktionen Arbeitsplatz verstecken Es werden hiermit, sofern die Programme gestartet sind, folgende Module versteckt : Shareholder selbst Alle geöffneten Aktualisierungsfenster Da dies komplett für mich die Arbeitsplatz-Software darstellt ist der Funktionsname auch entsprechend gewählt. Hinweis : Der Shortcut "Umsch-Strg-F9" ist auch aktiv, wenn Shareholder im Hintergrund minimiert ist oder ein anderes Programm im Vordergrund steht. Rechner automatisch herunterfahren Machmal ist es erforderlich eine Kursaktualisierung übers Internet vorzunehmen, ohne dabei anwesend zu sein. Die Kursaktualisierung ist hierbei die letzte vom Rechner zu bewältigende Aufgabe. Der Rechner kann damit nach Abschluß des Vorgangs heruntergefahren werden. Dieses Problem wird durch Aktivierung dieser Funktion gelöst. Es wird somit eine begonnende Kursaktualisierung abgeschlossen und danach der Rechner komplett heruntergefahren. Zusammen mit einer aktivierten Weckfunktion des Rechners lassen sich dann sogar automatisch ausgeführte Kursaktualisierungen in der Urlaubszeit realisieren. Hierzu kann über das Bios der Rechner gestartet werden und über ein in der Autostartgruppe von Windows abgelegten Verweis auf Shareholder mit den Parametern AKTIV SHUTDOWN die Aktualisierung durchgeführt werden. Der Rechner wird durch Shareholder, durch den Parameter "Shutdown" gesteuert, automatisch Heruntergefahren. Aus umweltpolitischen Gründen würde ich hiervon allerdings abraten, da ohnehin historische Kursdaten geliefert werden können und ein tägliches Update hier überflüssig ist. Transaktionsbewertungen Installation und Backup Installation Das Programm sollte im Normalfall über das Setup-Programm installiert werden. Hier werden dann die notwendigen Module nach Auswahl heruntergeladen und installiert. Folgende Module (*.MOD-Dateien) sind auch offline zu sichern, für eine spätere Installation: Setup_Shareholder.EXE (Installationsdatei sowohl Online/Offline) Programmdatei.MOD(Hauptdatei) Sie downloaden direkt Ihre Programmdatei als Vollversion: herunter: http://www.shareholder24.de/register/shareholder/download/standard/Programmdatei.MOD oder http://www.shareholder24.de/register/shareholder/download/profi/Programmdatei.MOD Stammdaten.MOD (Alle anderen Stammdatendateien wie Konten, Internet-Aktualisierungs-Adressen usw.) Aktienstammdaten.MOD (Stammdaten-Masterdatei für alle Aktientitel) Kursdaten-Init.MOD (Komplette Historische Kursdaten) Systemdateien.MOD (Wichtige Systemdateien z.B. für Druckberichte) Windowssystemdateien.MOD (Notwendige Bibliotheken für SSL-Internetzugriffe und PNG-Bilder) Die MOD-Dateien sind intern reine ZIP-Dateien und können daher auch über "Öffnen mit ..." als solches mit einem geeignten Entpacker geöffnet werden. Die MOD-Dateien nutzen dabei intern das Datei-Kommentarfeld, um das Zielverzeichnis für die Installationen zu speichern. Sie können daher jederzeit auch manuell die Dateien entpacken. Die MOD-Dateien werden über das Setup-Programm zwingend heruntergeladen und stehen anschließend auf Ihrem Rechner zur weiteren Verwendung zur Verfügung. Bitte sichern Sie sich alle Moduldateien bzw. mindestens die Programmdatei.MOD separat weg, um für den Recovery-Fall hier eine Neuinstallation vornehmen zu können. Der Online-Zugang auf die aktuellste Programmversion ist nur für registrierte Anwender möglich, d.h. im Minimum ein halbes Jahr! Lokale-Installationsversion für gesicherte MOD-Datei-Versionen oder für Offline-Installationen Bitte folgende Schritte durchführen für eine praktische Offline-Installation: 1. Download aller oben verlinkten MOD-Dateien inkl. Setup-Datei und Ablage in ein gemeinsames Verzeichnis 2. Start Setup im Modus "Erweiterte Installations-Parameter" 3. Auswahl der Option im Reiter "Internetzugang" : Offline-Installation nachdem die vorherigen Reiter mit Weiter konfiguriert und abgeschlossen wurden 4. Eventl. Auswahl aller Module 5. Installation starten Wechsel von Demoversion auf Vollversion siehe Verwendung der aktuellsten Programmversion Backup siehe Sicherung und Wiederherstellung (Backup und Recovery) Aktualisierungen siehe Verwendung der aktuellsten Programmversion Arbeiten unter Apple - Macintosh Shareholder R/2 auf dem Mac OS X Betriebssystem Shareholder R/2 ist nicht nur auf Windows Betriebssystemen lauffähig, sondern auch auf OS X (getestet Release 10.5.7). Siehe Screenshot: Voraussetzung hierfür, ist die Verwendung von Windows Emulatoren. Zur Auswahl stehen kommerziell verfügbare Programme wie bspw. Vmware oder Paralles. Möglich ist es jedoch auch Freeware Software zu verwenden, welche nicht käuflich erworben werden muss und keine Windows CD voraussetzt! Zur Verfügung stehen hierbei mehrer verschiedenen Verfahren und Anbieter. Ich beschränke mich hierbei auf die Darwine Version. Vorgehensweise und Schritte 1. Backup der Shareholder-Daten 2. Kopieren von wichtigen Shareholder R/2 Daten auf ein USB Stick z.B. Charts (eingezeichnete Linien etc pp werden auf den Mac übernommen), Depots, Kursinformationen etc. 3. Installation von Darwine auf dem Mac 4. Installation von TaiPan auf dem Mac (nicht zwingend erforderlich) 5. Installation von Shareholder R/2 auf dem Mac 6. Übertrag der wichtigen Shareholder R/2 Daten auf den Mac 7. Anpassung von Wine Backup / Kopieren von Shareholder R/2 Nutzerdaten Erstellung eines Backup auf dem Windows Rechner. Kopieren von wichtigen Dateien auf ein USB Stick z.B. persönlich angelegte Daten/Charts, Daten/* um diese später auf dem Mac einzuspielen Installation von Darwine Download von Darwine (http://winebottler.kronenberg.org/). Installation der Anwendung durch ziehen auf den App Folder (wie bei jeder anderen *.dmg Anwendung). Danach muss WineBottler gestartet, sowie ein neues "Prefix" erstellt werden. Hierzu "Create Custom Prefixes" auswählen und unter "Installer" Shareholder.exe aus der Mac Download Liste auswählen sofern Shareholder soeben heruntergeladen wurde. Wichtig ist hierbei die Winetricks, siehe weiter unten auf dieser Seite, unter Relevante Wine-Einstellungen auszuwählen sowie "include Wine binaries" zu markieren. Danach die Installation durchführen. Wichtig ist zum Schluss bei der Erstellung des Prefix "Shareholder.exe" als Startdatei auszuwählen und nicht das standardmässig vordefinierte Shareholder De-Installationsprogramm!!! Siehe Screenshot: Danach erscheint Shareholder als Anwendung auf dem Desktop (sofern man Desktop als Speicherort ausgewählt hat) Installation von TaiPan (optional wenn benötigt) TaiPan ist natürlich nicht zwingend für die Benutzung von Shareholder vorgesehen aber vereinfacht die Kursversorgung. TaiPan funktioniert ebenfalls unter Darwine, hierbei ist jedoch eine spezielle Mac Version erforderlich. Diese kann unter http://www.lp-software.de/Produkte/TaiPanE ndOfDay/Index/download.aspx heruntergelanden werden und beinhaltet die 9er Version, welche ebenfalls unter Shareholder lauffähig ist. Nach dem Download kann die exe Datei unter Darwine wie unter Windows gestartet werden und die Installation erfolgt in eine spezielle Dateistruktur unter Mac OS X welche jedoch mit dem Finder bzw. Terminal Emulator angesprochen werden kann. Alternativ kann auch der Windows Explorer auf dem Mac gestartet werden. Hierz einfach in dem Folder Programme innerhalb des Finders "Sample WineLib Applications" auswählen und dann die Anwendung "winefile.exe". Der Windows Explorer öffnet sich und zeigt die Dateistruktur unter der TaiPan installiert wurde. Übertragen von vorhandenen Daten (falls erforderlich) Um bestehenden Konten, Transaktionen, Chartbilder, Linien etc. zu übertragen müssen erstmals auf eine CD oder USB Stick kopiert werden. Am besten die Daten unterhalb von Charts und ... kopieren. Danach dann auf dem Mac OS X ein Terminal Fenster aufrufen und die Programmzeile open ~/.wine/drive_c eingeben und mit Return bestätigen. Danach öffnet sich ein Terminal Fenster und die Daten auf dem USB Stick können in das Wine Verzeichnis bzw. die Shareholder Daten kopiert werden. Danach ein Shortcut von TaiPan und Shareholder R/2 auf dem Mac OS X erstellen und ggf. die Wine Icons gegen Shareholder und TaiPan Icons austauschen. That's it! und Shareholder R/2 steht auch auf dem Mac zur Verfügung. Restriktionen: Die Oberfläche mag tlw. etwas anderst erscheinen z.B. Icons links neben dem WP X11 Terminal Fenster werden mit Wine/Darwine geöffnet und können nicht geschlossen werden, ansonsten wird Shareholder/TaiPan auch beendet Der Bildschrimaufbau mag etwas langsamer als unter Windows erscheinen. Ggf. kann hier Jens ja noch etwas den Sourcecode optimieren ;-) Unter Windows ist es ja manchmal auch etwas träge Drucken habe ich noch nicht getestet. WLAN wird ohne Probleme unterstützt Relevante Wine-Einstellungen Bitte folgende Punkte aktivieren: Bibliothek Beschreibung comctl32 MS-Common-Controls 5.8 gdiplus MS gdiplus.dll msxml6 MS XML version 6 ie6 Microsoft Internet Explorer 6.0 fakeie6 Set registry to claim IE6sp1 is installed Arbeiten unter Linux Aktueller Stand Leider gibt es hier vorerst nur die Möglichkeit über Emulationssoftware zu gehen. Vorerst, da es Diskussionen zum Thema gibt: http://www.share holder24.de/community-diskussionen-blog-musterdepot/forum--diskussionen-zum-produkt/3-vorschlaege/16-apple-mac-os-x-und-linux-support#1 6 Emulationssoftware Als Emulationssoftware kommen nach aktuellem Stand folgende Produkte in Frage: VMWare - Workstation Wine Erfahrungen und Hinweise Leider habe ich selbst keiner derartigen Erfahrungen gemacht und hoffe hier Feedback von Anwendern zu bekommen. Nutzung der Tai-Pan-Database-Engine Installation Bitte installieren Sie die gültige Tai-Pan-Database-Engine. Sie finden diese im Downloadbereich unter: https://www.lp-software.de/shareholder/do wnload.html. Die Installation ist völlig unabhängig von Shareholder R/13 und muss auch separat gestartet werden. Bei der Installation wird eine Verwaltungsoberfläche und ein Demodatenbank installiert. Die mit Abschluss eines Test-Abos oder von regulären Abo-Katalogen entsprechend aktualisiert werden kann. Alternativ kann auch eine installierte Tai-Pan Version verwendet werden. Beide nutzen die Database-Engine und stellen entsprechend nutzbare Schnittstellen für Drittsysteme zur Verfügung. Shareholder R/13 nutzt diese. Tai-Pan und Shareholder R/13 können entsprechend parallel genutzt werden. Schnittstelle Es wird ein OLE-Server von Tai-Pan angesprochen um den Onlinemanager für Kursaktualisierungen zu nutzen, oder um die Tai-Pan Datenbankdaten abzurufen. Die Shareholder-Datenbank ist dabei separat von der Tai-Pan-Datenbank gespeichert, d.h. die Art und der Umfang der Datenbanken können sich unterscheiden. Datenablage Format Shareholder R13 <Datenverzeichnis Shareholder>\Daten\Database\Kursdaten.ADB Accuracer-SQL-Datenbank als eine Datei Tai-Pan <Data-Verzeichnis Tai-Pan>\ z.B. C:\ProgramData\Lenz + Partner AG\Tai-Pan DEMO\13.0\Daten Tai-Pan-DAT-Dateien gesplittet nach Inhalt wie ACLOSE.DAT, AHIGH.DAT etc. Shareholder R13 nutzt eine eigene Datenbank, um verschiedene Kursdaten-Quellen unabhängig nutzen zu können. Tai-Pan ist hier eine mögliche Quelle, neben den dutzenden Internet-Kursdaten oder auch ASCII-File-Imports. Mögliche Lösungen bei Problemen Wenn die Installation nicht vollständig oder korrekt vorgenommen wurde oder auch Inkompatibilitäten zur genutzten Version auftauchen, erhalten Sie Fehlermeldungen in der Form "Klasse nicht registriert, ClassID: ...." Tai-Pan Database-Engine 11 ClassID-Schlüssel Komponente Hintergrundinformationen {72528DFD-4CED-45D3-9AD6-A95E0948FCDB} Tai-Pan-Server Es fehlt hier die Registrierung der TPACC20.DLL-Typbibliothek. Versuchen Sie hier die Tai-Pan-Oberfläche zu öffnen und dort in das RegUtil zu gehen. Suchen Sie hier nach TPACC20.Taipan. Registrieren Sie diese Komponenten nochmals nach! {9E372726-EF96-4ADE-B882-708AADC04169} Online-Manager Es fehlt hier die Registrierung der OnlMgr.exe-Typbibliothek. Versuchen Sie hier die Tai-Pan-Oberfläche zu öffnen und dort in das RegUtil zu gehen. Suchen Sie hier nach OnlMgr. Registrieren Sie diese Komponenten nochmals nach! Alternativ wählen Sie in der Tai-Pan-Oberfläche / Menü RegUtil / Button "Reg-Alles" Tai-Pan EOD 13 / EOD 14 Grundsätzlich kann mit Tai-Pan EOD 13 mit Shareholder gearbeitet werden. Folgende Einschränkungen existieren hierbei: Funktion Onlinemanager / Setup-Tai-Pan - Aktualisierung Historische Kursdatenaktualisierung mit oder ohne Filter Tai-Pan Katalogsicht und Aktualisierung Shareholder R13 - Support Die TPACC20.DLL-Typbibliothek-Funktionen sind weiterhin kompatibel zur Tai-Pan Database-Engine 11. Nutzung Netzlaufwerk für gemeinsame Datenablage Achtung: Es wird eine Version > 13.2.0 benötigt. Hintergründe Shareholder verwendet 3 zentrale Verzeichnisse, die umkopiert werden müssen, damit diese gemeinsam im Netz verwendet werden können. Hierzu über "Shareholder-Hauptmenü / Hilfe / Infos / Öffne Datenpfad" das zugehörige Datenverzeichnis öffnen. Hier müssen \Daten \Report \Profile als komplette Verzeichnisse kopiert werden auf das Ziel-Netzlaufwerk. Im Datenverzeichnis befindet sich ein \Daten\Database-Verzeichnis in der auch eine ADB-Datei liegt, die durchaus eine Größenordnung von 1GB haben kann. Hier sind alle Kursdaten zentral abgelegt. Im \Daten - Verzeichnis wird explizit die Datei "Stammdaten.Aktien.R8" erwartet. Liegt diese nicht vor, kann das Programm nicht gestartet werden. Bitte beachten Sie, dass wenn die anderen Stammdaten nicht in den jeweiligen Verzeichnissen liegen, Default-Settings gesetzt werden. Im Zweifel sollten Sie bei Schwierigkeiten hier eine Neuinstallation durchführen. Im Kern wird dabei jedoch auch nur die Systemdateien.MOD, Stammdaten.MOD und die Aktienstammdaten.MOD in die Verzeichnisse entpackt. Die genannten Dateien sind dabei umbenannte ZIP-Dateien. Bitte beachten Sie das jeweilige Basiverzeichnis in der Titelleiste in den nachfolgenden Screenshots: Konfiguration und Setup Folgende Schritte sind nur zu tun: Kopieren der Verzeichnisse (siehe Hintergründe) aus dem Datenverzeichnis auf das zentralen NAS / Netzlaufwerk In Shareholder im Hauptmenü / Programmeinstellungen / Programm das Datenverzeichnis umstellen. Es wird dabei der neue Pfad nur akzeptiert, wenn obige Verzeichnisse vorhanden sind. Hierbei können direkte Netzwerkpfade genutzt werden oder aber auch der Zwischenweg über gemappte Netzlaufwerke (mit Laufwerksbuchstaben). Dies ist (s.u.) aber nicht zwingend erforderlich. Einschränkungen Das System ist nicht für mehrere gleichzeitige Nutzer ausgelegt, d.h. das Datenverzeichnis sollte nur von einer Person zu einem Zeitpunkt zugegriffen werden, da sonst die letzte gespeicherte Version gewinnt bzw. beim Schreiben Fehler erzeugt werden können. Mehrwert ist so, dass sowohl von Notebook, als auch vom Hauptrechner auf die selbe Datenbasis zugegriffen werden kann. Das System ist aktuell jedoch nicht als Multi-Thier-Anwendung ausgelegt. Bitte beachten Sie auch, dass die Performance des Netzwerklaufwerks auch die Performance von Shareholder einschränkt, da insb.für die Kursdaten und Aktienstammdaten Daten bewegt werden. Die 1GB große Kursdatendatei kann praktisch genutzt werden, da das System derartige Netzzugriffe an dieser Stelle optimiert. Die Performanceeinbußen sind damit hinnehmbar. Sicherung und Wiederherstellung (Backup und Recovery) Backup Automatisches Backup beim Speichern Wird eine Datendatei von Shareholder neu gespeichert, wird automatisch die vorherige Version ins \Shareholder\Daten\Backup - Verzeichnis verschoben. Es existiert somit immer eine Sicherungsdatei der zuletzt verwendeten Version im Backupverzeichnis. Ein Zurückspielen der Datei ist einfach mit dem Dateiexplorer möglich. Die Dateien haben dabei einen sprechenden Dateinamen, so dass die Zuordnung ohne weiteres möglich sein sollte. Um in das geeignete Verzeichnis zu kommen, über Hauptmenü / Hilfe / Infos / Reiter "Infos" / Button "Datenverzeichnis öffnen" nutzen. Sicherung von Einstellungen und Daten Über das Hauptmenü / Extras / Sicherung können Sie bequem und schnell Sicherungen Ihrer persönlichen Änderungen vornehmen. Sie wählen hierzu thematische Themen/Gruppen. Das Programm wählt dann für Sie ein oder mehrfach automatisch die zugehörigen Dateien zur Sicherung aus dem Datenverzeichnis aus. Folgende Besonderheiten werden genutzt: Depots nutzt Wildcars mit /Daten/*.DepotR2 Charteinstellungen nutzt Wildcards mit /Daten/Charts/* Kursdaten erzeugt eine spezielle "Kursdaten-Migrate-Inc.adb" - Datenbankdatei, die dabei nach Wunsch (siehe Kursdaten Von-BisCheckboxen ) nur spezielle Kursdaten-Zeiträume berücksichtigt. Damit werden inkrementelle Kursdaten-Updates möglich. So kann beispielsweise eine Gesamt-Archiv-Datei mit 200MB erzeugt werden und ab diesem Zeitpunkt werden über Kursdaten-Von-Einschränkungen nur noch inkrementelle Kursdaten-Sicherungen vorgenommen. Das Sicherungsmodul erzeugt als interessante Besonderheit ausführbare und unabhängige Sicherungsdateien (EXE-Dateien) z.B. Damit soll erreicht werden, dass Sicherungen unabhängig vom Setup/Shareholder jederzeit zurückgeholt werden können. Sollte Shareholder beispielsweise nicht mehr startbar sein, so ließe sich hierüber ein unabhängiges Recover durchführen und durch Datenfehler verursachte Probleme sogar beseitigen. Im (Rechner/Neuinstallation) Desaster-Recovery-Fall können folgende einfache Schritte durchgeführt werden für eine komplette Wiederherstellung inkl. aller persönlichen Einstellungen: Download des aktuellen Setups: http://www.shareholder24.de/download/full/setup_shareholder.exe Start und Installation der aktuellsten Version unter Verwendung der aktuellen Registrierungsdaten Start der manuellen Sicherungsdatei und "Wiederherstellung starten" FERTIG Die Selektion und Auswahl der zu sichernden Objekte werden gespeichert und somit mit dem nächsten Start wieder genutzt. Wiederherstellen von Einstellungen und Daten Nach Start der ausführbaren Sicherungsdatei (Name natürlich abhängig vom gewählten Namen) erhalten Sie sofort eine spezielle Wiederherstellungsmaske. In dem Moment sind bereits der Kommentar der Sicherung Darstellung und Mapping der enthalten Sicherungsdateien (als sprechende Namen, so wie sie in Shareholder verwendet werden und Datum). In dem Beispiel sind damit Depots, Charteinstellungen und Börsenplätze gesichert. Automatische Auswahl des Zielverzeichnis / Datenverzeichnis entsprechend Shareholder-Installation vorkonfiguriert und ausgelesen. Im einfachsten Fall können Sie nun direkt mit "Wiederherstellung starten" die Dateien zurücksichern. Es verfolgt damit klar das Ziel "One-Click-Recovery". Nach dem Start erhalten Sie ein "Protokoll" aller tatsächlich zurückgesicherten Dateien. Sie können danach "Beenden" und Shareholder nun starten. Da es sich technisch um ein ZIP-SFX-Archiv handelt, mit einer eigenen Logik, können die Sicherungsdateien auch immer mit geeigneten ZIP-Programmen manuell entpackt werden z.B. WinZIP. Sie sollten hier aber keine Vorteile gewinnen, da Sie das Mapping zwischen den Dateinamen und der Verwendung kennen müssen und zudem die möglichen Mehrfachdateien für Charteinstellungen, Profilinformationen relativ umständlich einzeln markieren und entpacken müssen. Für den Start des SFX-Archivs wird kein Zusatzprogramm benötigt. Nach dem Start wird der Installationspfad für die aktuelle Shareholder-Installation geprüft. Kann kein gültiger Pfad gefunden werden, wird das Programm mit einem Warnhinweis automatisch geschlossen. Sie sollten vor dem Start der Wiederherstellung eventl. laufende Shareholder-Instanzen schließen, da es sonst zu unerwünschten Überschreibeffekten kommen kann. Videotutorial Backup-Recovery </object></p> </div> </div> <div class="hidden rendered-page"></div> <div class="wiki-content"> <div class="pagetitle" id="Tuning-Möglichkeiten und deren Auswirkungen"> <h3>Tuning-Möglichkeiten und deren Auswirkungen</h3> <h4 id="Tuning-MöglichkeitenundderenAuswirkungen-Grundeinschätzung">Grundeinschätzung</h4> <p>Das System ist grundsätzlich auf Performance ausgelegt. Dennoch sind einige Optimierungsmöglichkeiten vorhanden, um das System hinsichtlich Reaktionsmöglichkeit und Aktualisierungsgeschwindigkeit zu steigern. Verstehen Sie die nachfolgenden Punkte bitte nur als Hinweise und nicht als unabdingbare Handlungsanweisungen!</p> <h5 id="Tuning-MöglichkeitenundderenAuswirkungen-AustauschderFestplattemitSolid-State-Disk(SSD-Platte)">Austausch der Festplatte mit Solid-State-Disk (SSD-Platte)</h5> <p>Praxisbeispiel:</p> <div class="table-wrap"><table class="confluenceTable"><tbody> <tr> <th class="confluenceTh"><p> Test </p></th> <th class="confluenceTh"><p> Samsung HD250HJ 250 GB / SpinPoint S </p></th> <th class="confluenceTh"><p> Corsair P128 Solid State Drive 128 GB <br class="atl-forced-newline" /> CMFSSD-128GBG2D, MLC-Chips </p></th> <th class="confluenceTh"><p> </p></th> </tr> <tr> <td class="confluenceTd"><p> Startzeit von Shareholder<br class="atl-forced-newline" /> (Hilfe / Infos) mit dem aktuellen Depot / Stammdaten<br class="atl-forced-newline" /> </p></td> <td class="confluenceTd"><p> 4,4s </p></td> <td class="confluenceTd"><p> 2,8s </p></td> <td class="confluenceTd"><p> -37%<br class="atl-forced-newline" /> </p></td> </tr> <tr> <td class="confluenceTd"><p> Tai-Pan Vollaktualisierung über alle Titel (3447)<br class="atl-forced-newline" /> </p></td> <td class="confluenceTd"><p> 9m / 14s<br class="atl-forced-newline" /> 554s<br class="atl-forced-newline" /> </p></td> <td class="confluenceTd"><p> 4m 50s<br class="atl-forced-newline" /> 290s<br class="atl-forced-newline" /> </p></td> <td class="confluenceTd"><p> -48%<br class="atl-forced-newline" /> </p></td> </tr> <tr> <td class="confluenceTd"><p> Filter "ADX über alle deutschen Titel"<br class="atl-forced-newline" /> </p></td> <td class="confluenceTd"><p> 44,5s<br class="atl-forced-newline" /> </p></td> <td class="confluenceTd"><p> 13s<br class="atl-forced-newline" /> </p></td> <td class="confluenceTd"><p> -70%<br class="atl-forced-newline" /> </p></td> </tr> </tbody></table></div> <h5 id="Tuning-MöglichkeitenundderenAuswirkungen-NutzungvonSammelabfragen">Nutzung von Sammelabfragen</h5> <p>Internet-Kurs-Provider wie Yahoo bieten die Möglichkeit Kursdaten für mehrere Titel gleichzeitig abzufragen. Der Geschwindigkeitsgewinn ist hier enorm, insb. durch Verwendung von CSV-Inhalten, d.h. unnötige Layout-Fragmente wie HTML-Inhalte werden vermieden. Der DAX30 kann so innerhalb von 1,5s aktualisiert werden für die Tagesdaten gegenüber 40s bei einer Einzelabfrage über Consors.</p> <p>Bitte versuchen Sie daher immer Kursanbieter zu nutzen mit:</p> <ul> <li>CSV-Datenlieferung (Yahoo, Google)</li> <li>Möglichkeit zur Sammelabfrage (Yahoo)</li> </ul> </div> </div> <div class="hidden rendered-page"></div> <div class="wiki-content"> <div class="pagetitle" id="Verwendung der aktuellsten Programmversion"> <h3>Verwendung der aktuellsten Programmversion</h3> <h4 id="VerwendungderaktuellstenProgrammversion-Einleitung">Einleitung</h4><p>Shareholder wird fortwährend weiterentwickelt. Bei Registrierung des Programmes haben Sie Zugriff auf alle Updates innerhalb eines halben Jahres. Da zur Vermeidung von Mailtraffic keine Updatemails mehr versendet werden (Spam-Mails gibt es genug), wird ein passives System genutzt. Hierzu wird auf Anfrage des Anwenders, nach neuen Programmversionen gesucht. Die Installation muss danach manuell ausgelöst werden, da eine automatische Einspielung einer neuen Version zur Zeit nicht vorhanden ist.</p><ul><li>Unter "Hilfe / Auf neueste Vollversion" gibt es eine sehr effektive und schnelle Möglichkeit zu aktualisieren. Entsprechende Registrierungsdaten werden hier bereits abgefragt.</li><li>Unter "Hilfe / Auf neue Module prüfen" kann zusammen mit anderen Teilmodule wie Stammdaten auch die Programmversion aktualisiert werden.</li></ul><p>Um die aktuelle Programmversion zu verwenden, haben Sie mehrere Möglichkeiten. Diese sind in der Reihenfolge der einfachsten Nutzung aufgeführt. Die regelmäßige Aktualisierung auf die aktuellste Version stellt sicher, dass Sie immer den aktuellen Releasestand nutzen können hinsichtlich Fehlerbereinigungen und natürlich auch neuer Funktionen. Der Support beschränkt sich dabei ebenfalls immer auf die aktuellste Releaseversion, dass heißt bei Fehlermeldungen wird immer zunächst geprüft, ob die Fehlermeldung mit der aktuellsten Shareholder-Version entstanden ist.</p><h5 id="VerwendungderaktuellstenProgrammversion-AktualisierungüberShareholder/Hauptmenü/Hilfe/AufneuesteVollversionaktualisieren">Aktualisi erung über Shareholder / Hauptmenü / Hilfe / Auf neueste Vollversion aktualisieren</h5><p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="/wiki/download/attachments/13172738/Hauptmenue.png?version=1&modificationDate=1291194720000&api=v2" data-image-src="/wiki/download/attachments/13172738/Hauptmenue.png?version=1&modificationDate=1291194720000&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="13238273" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Hauptmenue.png" data-base-url="http://www.shareholder24.de/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="13172738" data-linked-resource-container-version="7"></span></p><p>Gehen Sie hierzu zunächst einfach ins Hauptmenü / Hilfe / Auf neueste Vollversion aktualisieren oder wenn Sie wünschen, den Releasetext zuvor zu lesen, dann über Hilfe / Auf neue Module prüfen. Damit diese Funktion korrekt arbeiten kann, wird der Schreibzugriff auf das Programmverzeichnis benötigt. Daher wird automatisch ab Vista (insb. Windows 7) geprüft, ob das Programm in dem Moment mit Administrationsrechten läuft. Sollte dies nicht der Fall sein, bitte Shareholder erneut starten z.B. mit rechter Maustaste auf den Startmenüeintrag und dort "Als Administrator starten".</p><h5 id="VerwendungderaktuellstenProgrammversion-AktualisierungüberSetup">Aktualisierung über Setup</h5><p>Starten Sie hier das Setup und wählen dort den Button "Vollversion" aus.<br /> <span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="/wiki/download/attachments/13172738/Setup-Startscreen.jpg?version=1&modificationDate=1291194720000&api=v2" data-image-src="/wiki/download/attachments/13172738/Setup-Startscreen.jpg?version=1&modificationDate=1291194720000&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="13238274" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Setup-Startscreen.jpg" data-base-url="http://www.shareholder24.de/wiki" data-linked-resource-content-type="image/jpeg" data-linked-resource-container-id="13172738" data-linked-resource-container-version="7"></span></p><p>Folgen Sie anschließend nur den Anweisungen und wählen Sie unter dem Reiter "Auswahl" die Programmversion aus.<br /> <span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="/wiki/download/attachments/13172738/Setup-Auswahl.jpg?version=1&modificationDate=1291194720000&api=v2" data-image-src="/wiki/download/attachments/13172738/Setup-Auswahl.jpg?version=1&modificationDate=1291194720000&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="13238275" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Setup-Auswahl.jpg" data-base-url="http://www.shareholder24.de/wiki" data-linked-resource-content-type="image/jpeg" data-linked-resource-container-id="13172738" data-linked-resource-container-version="7"></span></p><p>Sie können nun die aktuellste Programmversion direkt installieren über den Button "Installieren".</p><h5 id="VerwendungderaktuellstenProgrammversion-ManuelleAktualisierung">Manuelle Aktualisierung</h5><p>Wenn Sie wünschen können Sie Shareholder auch selbst manuell aktualisieren. Hierzu je nach Programmversion eines der beiden Vollversionen downloaden:</p><ul><li><a href="http://www.shareholder24.de/register/shareholder/download/profi/Programmdatei.MOD" class="external-link">http://www.shareholder24.de/register/shareholder/download/profi/Programmdatei.MOD</a></li><li><a href="http://www.shareholder24.de/register/shareholder/download/standard/Programmdatei.MOD" class="external-link">http://www.shareholder24.de/register/shareholder/download/standard/Programmdatei.MOD</a></li></ul><p>Die Datei anschließend in ZIP umbenennen und die Shareholder.exe in das aktuelle Programmverzeichnis kopieren bzw. entpacken. Shareholder sollte in dem Moment natürlich nicht gestartet sein. Unter Vista/Windows7 sollte das ZIP-Programm ebenfalls mit erhöhten Rechten (Administrationslevel) gestartet sein, damit ein Schreiben in die Programmverzeichnisse erlaubt ist.</p><h4 id="VerwendungderaktuellstenProgrammversion-AktualisierungenvonStammdaten">Aktualisierungen von Stammdaten</h4><p>Zum aktuellen Zeitpunkt sind folgende Module und damit einhergehend folgende Dateien aktualisierbar:</p><ul><li>"Aktienstammdaten.MOD"<ul><li>Aktien-Stammdatendatei (Datei: Stammdaten.Aktien.R8.stm) und somit die Liste aller verfügbaren Titel und deren Markteinordnung, Aktualisierungsgruppen, Unternehmenskennzahlen.</li></ul></li><li>"Stammdaten.MOD"<ul><li>Konten (Datei: Stammdaten.Konten.stm)</li><li>Börsen (Datei: Stammdaten.Boersen.stm)</li><li>Watchlisten (Datei: Stammdaten.Watchlisten.stm)</li><li>Internetadressen und -variablen (Dateien: Internet.Variablen.stm, Internet.Importformate.stm, Internet.Adresse.stm, Internet.Aktualisierungsgruppen.stm)</li><li>Entscheidungen (Datei: Stammdaten.Entscheidungen.stm) und Transaktionsbewertungen (Datei: Stammdaten.Transaktionsbewertung.stm)</li><li>Technische Indikatoren (Datei: Indikatoren.Gruppen.stm)</li><li>Sparpläne (Datei: Konten.Sparplaene.stm)</li><li>Märkte (Datei: Stammdaten.Maerkte.stm)</li><li>Wertpapierarten (Datei: Stammdaten.WPArten.stm)</li></ul></li></ul><div class="confluence-information-macro confluence-information-macro-warning"> <span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"></span> <div class="confluence-information-macro-body"><p>Die bisherigen Änderungen des Anwenders gehen hierbei jedoch verloren, wenn das entsprechende Modul installiert wird. Ihre alte Version findet sich dabei immer gesichert im Datenverzeichnis (Hilfe / Info / Datenverzeichnis öffnen) unter \Daten-Backup. Die Rückspielung ist so jederzeit und einfach möglich.</p></div> </div> <ul><li>Unter "Hilfe / Auf neue Module prüfen" kann zusammen mit anderen Teilmodule wie Stammdaten auch die Programmversion aktualisiert werden.</li></ul> </div> </div> <div class="hidden rendered-page"></div> <div class="wiki-content"> <div class="pagetitle" id="Anlagestrategien"> <h2>Anlagestrategien</h2> <h3 id="Anlagestrategien-Modell-BeschreibungeinerAnlagestrategie">Modell-Beschreibung einer Anlagestrategie</h3> <p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="/wiki/download/attachments/18087946/Strategie-1.jpg?version=1&modificationDate=1310162782000&api=v2" data-image-src="/wiki/download/attachments/18087946/Strategie-1.jpg?version=1&modificationDate=1310162782000&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="18284549" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Strategie-1.jpg" data-base-url="http://www.shareholder24.de/wiki" data-linked-resource-content-type="image/jpeg" data-linked-resource-container-id="18087946" data-linked-resource-container-version="9"></span></p> <p>Titel</p> <div class="table-wrap"><table class="confluenceTable"><tbody> <tr> <th class="confluenceTh"><p> Detail </p></th> <th class="confluenceTh"><p> Beschreibung </p></th> <th class="confluenceTh"><p> Persönliche Optimierungspotentiale </p></th> </tr> <tr> <td class="confluenceTd"><p> Markt-Einstieg </p></td> <td class="confluenceTd"><p> Wie erfolgt der Einstieg/Kauf von Positionen z.B. <br class="atl-forced-newline" /></p> <ul> <li>Nachbildung Musterdepot</li> <li>Technisches Signal z.B. Schnittpunkt Gleitender Durchschnitt etc.</li> <li>Fundamentale Auswahl z.B. Cashflow-Entwicklung, Stabile Ertragslage, Markt-Mitbewerbersituation <br class="atl-forced-newline" /> und welche <br class="atl-forced-newline" /></li> <li>Märkte z.B. Europa / Nur Deutschland etc.</li> <li>Segmente/Branchen z.B. nur Biotech-Aktien</li> <li>Assetklassen wie Aktien, Fonds, CFDs, OS, Zertifikate, Rohstoffe, Währungen werden überhaupt verwendet</li> </ul> </td> <td class="confluenceTd"><p> Wie können die bisherigen Entscheidungen optimiert werden? </p></td> </tr> <tr> <td class="confluenceTd"><p> Markt-Ausstieg </p></td> <td class="confluenceTd"><p> Wie erfolgt der Ausstieg/Verkauf von Positionen z.B. <br class="atl-forced-newline" /></p> <ul> <li>Stopp-Kurse, wenn ja welche Initial-Risk-Stop, Trailing-Stopp und mit welchen Detailgrößen, Zielkurse</li> <li>Technisches Ausstiegssignal</li> </ul> </td> <td class="confluenceTd"><p> Wie können die bisherigen Entscheidungen optimiert werden? <br class="atl-forced-newline" /> </p></td> </tr> <tr> <td class="confluenceTd"><p> Zeitliche Ausrichtung </p></td> <td class="confluenceTd"><p> Auf welchen zeitlichen Horizont ist die Strategie ausgelegt bzw. Einzelpositionen. Was ist die durchschnittliche Haltedauer einer Position <br class="atl-forced-newline" /></p> <ul> <li>z.B. Haltedauer theoretisch nicht beschränkt</li> <li>Durchschnittliche Haltedauer dennoch 2Wochen</li> </ul> </td> <td class="confluenceTd"><p> Ist die Haltedauer wirklich optimal, oder wird zu kurzfristig und hektisch agiert oder ist eventl. sogar das Gegenteil der Fall, da das Modell zu langsam auf Marktsituationen reagiert und dadurch deutlich Rendite verschenkt? </p></td> </tr> <tr> <td class="confluenceTd"><p> Performance </p></td> <td class="confluenceTd"><ul> <li>Zielperformance (Wunsch im Abgleich zu den bisherigen Modellerfahrungen)</li> <li>Reale: Tatsächliche Performance in möglichst vielen Vergleichsszenarien </li> <li>Modell: Performance im Backtesting und in Modellrechnungen. Mit welchem System wurde das Ergebnis erreicht.</li> </ul> </td> <td class="confluenceTd"><p> = Sind alle anderen Optimierungsmöglichkeiten ausgeschöpft </p></td> </tr> <tr> <td class="confluenceTd"><p> Risiko </p></td> <td class="confluenceTd"><ul> <li>Wie risikohaft ist das Modell, was ist ein möglicher Verlust bei einem Einsatz von 10.000€? Wie ist die Stabilität des Modells z.B. anhand von max. prozentuale Drawdown? </li> <li>Welches Risikomodell passt zu mir selbst, d.h. welches max. Risiko möchte ich überhaupt eingehen? Bin ich bereits monatlich Geld dazuzugeben? Bei welchem Verlust wird es für mich selbst schmerzhaft? Diese Fragen sind grundlegend!</li> </ul> </td> <td class="confluenceTd"><p> Stimmt das eingegangene Risiko in der Praxis mit meinem Risikotyp überhaupt überein? Fühle ich mich wohl und sicher mit dem Modell. </p></td> </tr> </tbody></table></div> <h3 id="Anlagestrategien-Modell-CharaktereinerAnlagestrategie">Modell-Charakter einer Anlagestrategie</h3> <p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="/wiki/download/attachments/18087946/Strategie-2.jpg?version=1&modificationDate=1310162684000&api=v2" data-image-src="/wiki/download/attachments/18087946/Strategie-2.jpg?version=1&modificationDate=1310162684000&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="18284548" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Strategie-2.jpg" data-base-url="http://www.shareholder24.de/wiki" data-linked-resource-content-type="image/jpeg" data-linked-resource-container-id="18087946" data-linked-resource-container-version="9"></span></p> <div class="table-wrap"><table class="confluenceTable"><tbody> <tr> <th class="confluenceTh"><p> Detail </p></th> <th class="confluenceTh"><p> Beschreibung </p></th> <th class="confluenceTh"><p> Persönliche Optimierungspotentiale </p></th> </tr> <tr> <td class="confluenceTd"><p> Disziplin </p></td> <td class="confluenceTd"><p> Wieviel Disziplin verlangt das Modell? Bei Modellen mit geringer Trefferwahrscheinlichkeit, aber hohen Einzelgewinnen bei Treffern erfordert es sehr viel Disziplin. Ebenso bei Modellen mit hohem Kapitalbedarf. Dies sollte woher geprüft sein. </p></td> <td class="confluenceTd"><p> Lässt sich Disziplin und Erfolg voneinander unabhängiger machen? </p></td> </tr> <tr> <td class="confluenceTd"><p> Balancing </p></td> <td class="confluenceTd"><p> Wie wird das Modell in den Assetklassen/ Segmenten ausbalanciert. Wird überhaupt eine Gewichtung vorgenommen? </p></td> <td class="confluenceTd"><p> Stimmt die Gewichtung des Depots in den Einzelpositionen im Sinne einer Risikominimierung und Gewinn-Optimierung? Lässt sich eine Gesamtperformance von z.B. 5% nicht auch mit niedrigerem Risiko erreichen? </p></td> </tr> <tr> <td class="confluenceTd"><p> Aufwand </p></td> <td class="confluenceTd"><p> Welcher finanzielle und zeitliche Aufwand steckt hinter diesem Modell z.B. <br class="atl-forced-newline" /></p> <ul> <li>Kursdatenversorgung 20€/Monat mit EOD-Daten</li> <li>Einmal tägliche Prüfung für 15min am Abend</li> </ul> </td> <td class="confluenceTd"><p> Gibt es kostengünstigere Alternativen bzw. können bestimmte Punkte automatisch überwacht werden? </p></td> </tr> </tbody></table></div> </div> </div> <div class="hidden rendered-page"></div> <div class="wiki-content"> <div class="pagetitle" id="Anlagestrategie - Long und Short - Technisches System mit Fundamentaler Pivotunterstützung"> <h3>Anlagestrategie - Long und Short - Technisches System mit Fundamentaler Pivotunterstützung</h3> <p>Titel</p> <div class="table-wrap"><table class="confluenceTable"><tbody> <tr> <th class="confluenceTh"><p> Detail </p></th> <th class="confluenceTh"><p> Beschreibung </p></th> <th class="confluenceTh"><p> Persönliche Optimierungspotentiale </p></th> </tr> <tr> <td class="confluenceTd"><p> Markt-Einstieg </p></td> <td class="confluenceTd"><p> Wie erfolgt der Einstieg/Kauf von Positionen z.B. <br class="atl-forced-newline" /></p> <ul> <li>Ausschließliche Beschränkung auf Deutsche Indizes mit hohem Volumen und damit hoher Derivatauswahl. Im Kern MDAX, DAX, NeMax-Index. Das Modell kann aber leicht ausgedehnt werden auch auf umsatzstarke Aktien. Aktuell jedoch hier keine Anwendung.</li> <li>Fundamentale Grundeinordnung des Index-Primärtrends auf Basis einer Risikoabschätzung der Dimensionen: Politik, Wirtschaftszyklus, Weltwirtschaft. Dies bestimmt dann die primäre Ausrichtung des Einstiegs, d.h. Short oder Long und auch wesentliche Umkehrpunkte, wenn z.B. alle Fundamentaldaten auf einen Wendepunkt hindeuten</li> <li>Einstieg nur über Hebelprodukte, um verstärkt an Entwicklungen teilzunehmen, d.h. üblicherweise Endlos-Knockout-Papiere. Die Hebel werden ausgelegt auf Basis der Pivotpunkte im Basistitel</li> <li>Technisches Signal ist ausschlaggebend. Konkret des Arroon-Indikators mit den Settings. Die Parameter sind mit Shareholder R/2 optimiert und in speziellen Handelssystemen systematisch optimiert: <ul> <li>Long auf Basis Aroon: Up: 28,8, Down: 23,5, Kauf/Verkauf-Crossover-Verfallstage: 3d</li> <li>Short auf Basis Aroon: Short: Up: 15 Down: 4</li> </ul> </li> <li>Einstieg sowohl auf Long, als auch auf Short-Seite</li> </ul> </td> <td class="confluenceTd"><p> Wie können die bisherigen Entscheidungen optimiert werden? <br class="atl-forced-newline" /> - Idee: Trible-Screen-Modell: Wochenchart mit MACD, RSI auf Tagesebene, Intraday-Ausbrüche <br class="atl-forced-newline" /> - Sentimentdaten geordnet einsetzen <br class="atl-forced-newline" /> - bei 50% Verlust (aus OS-Sicht) könnte eine Gegenposition eröffnet werden, die die komplett andere Richtung einnimmt (Reparatur-Trade) </p></td> </tr> <tr> <td class="confluenceTd"><p> Markt-Ausstieg </p></td> <td class="confluenceTd"><p> Wie erfolgt der Ausstieg/Verkauf von Positionen z.B. <br class="atl-forced-newline" /></p> <ul> <li>Der Verkauf erfolgt ausschließlich über Stopp-Kurse: <ul> <li>Initial-Risk-Stop: <ul> <li>Long: 3% des Basistitels</li> <li>Short: 1% des Basistitels bzw. 1 Tages-Schwankungsbreite</li> </ul> </li> <li>Trailing-Stop: <ul> <li>Long: 16% des Basistitels</li> <li>Short: 8% des Basistitels</li> </ul> </li> <li>Keine Zielkurse oder technische vormotivierte Ausstiege. Trailing-Stop ergänzt durch PSAR-System, d.h. Absicherung entsprechend PSAR bei kurzfristigen Trades</li> </ul> </li> </ul> </td> <td class="confluenceTd"><p> Wie können die bisherigen Entscheidungen optimiert werden? <br class="atl-forced-newline" /> </p></td> </tr> <tr> <td class="confluenceTd"><p> Disziplin </p></td> <td class="confluenceTd"><p> Wieviel Disziplin verlangt das Modell? Bei Modellen mit geringer Trefferwahrscheinlichkeit, aber hohen Einzelgewinnen bei Treffern erfordert es sehr viel Disziplin. Ebenso bei Modellen mit hohem Kapitalbedarf. Dies sollte vorher geprüft sein. <br class="atl-forced-newline" /></p> <ul> <li>Gewinnwahrscheinlichkeit nur bei 38%. Das Modell funktioniert daher nur mit Einhaltung des Money-Management und der Positionsbestimmung</li> <li>Sehr geringe Anzahl von Trades in diesem Modell, d.h. <ul> <li>Short: 1176 Trades insg. über 17 Jahre, d.h. 70Trades/pro Jahr</li> <li>Long: 171 Trades = 10 Trades/pro Jahr</li> </ul> </li> </ul> </td> <td class="confluenceTd"><p> Lässt sich Disziplin und Erfolg voneinander unabhängiger machen? </p></td> </tr> <tr> <td class="confluenceTd"><p> Balancing </p></td> <td class="confluenceTd"><p> Praktisch aktuell kein Balancing, da ausschließlich Trading auf DAX-Index. Da der DAX selbst ja ein Aktienkorb darstellt, hohe Partizipation an der Gesamt-Marktentwicklung in Deutschland. </p></td> <td class="confluenceTd"><p> Stimmt die Gewichtung des Depots in den Einzelpositionen im Sinne einer Risikominimierung und Gewinn-Optimierung? Lässt sich eine Gesamtperformance von z.B. 5% nicht auch mit niedrigerem Risiko erreichen? </p></td> </tr> <tr> <td class="confluenceTd"><p> Aufwand </p></td> <td class="confluenceTd"><p> Welcher finanzielle und zeitliche Aufwand steckt hinter diesem Modell z.B. <br class="atl-forced-newline" /></p> <ul> <li>Kursdatenversorgung 20€/Monat mit EOD-Daten</li> <li>Einmal tägliche Prüfung für 15min am Abend. Kein Eingreifen während des Handelstages. Kauf/Verkauf aber noch kurz vor Handelsende oder max. 20:00 Uhr über außerbörslichen Handel</li> </ul> </td> <td class="confluenceTd"><p> Gibt es kostengünstigere Alternativen bzw. können bestimmte Punkte automatisch überwacht werden? </p></td> </tr> <tr> <td class="confluenceTd"><p> Zeitliche Ausrichtung </p></td> <td class="confluenceTd"><p> Auf welchen zeitlichen Horizont ist die Strategie ausgelegt bzw. Einzelpositionen. Was ist die durchschnittliche Haltedauer einer Position <br class="atl-forced-newline" /></p> <ul> <li>z.B. Haltedauer theoretisch nicht beschränkt</li> <li>Durchschnittliche Haltedauer 200d (Long)</li> </ul> </td> <td class="confluenceTd"><p> Ist die Haltedauer wirklich optimal, oder wird zu kurzfristig und hektisch agiert oder ist eventl. sogar das Gegenteil der Fall, da das Modell zu langsam auf Marktsituationen reagiert und dadurch deutlich Rendite verschenkt? </p></td> </tr> <tr> <td class="confluenceTd"><p> Performance </p></td> <td class="confluenceTd"><ul> <li>Zielperformance: 7%p.a. vom DAX x Hebel d.h. ca. 30% pro Jahr bei Investition von 10.000€</li> <li>Reale: Aktuelle Performance 2011: noch keine Ergebnisse</li> <li>Modell: Performance im Backtesting und in Modellrechnungen ab 1994: 886% Long (getestet in Shareholder R/2) bis 01.2010 nur mit dem Basistitel. Hebelwirkungen sind hierbei nicht berücksichtigt</li> </ul> </td> <td class="confluenceTd"><p> = Sind alle anderen Optimierungsmöglichkeiten ausgeschöpft </p></td> </tr> <tr> <td class="confluenceTd"><p> Risiko </p></td> <td class="confluenceTd"><ul> <li>Einstieg nur mit max. 2% pro Trade vom Gesamtkapital</li> <li>Absicherung von Positionen entsprechend Stop-Kursen, sonst minimal Absicherung von 50% der Gewinne, 50% gehört dem Markt ;)</li> </ul> </td> <td class="confluenceTd"><p> Stimmt das eingegangene Risiko in der Praxis mit meinem Risikotyp überhaupt überein? Fühle ich mich wohl und sicher mit dem Modell. <br class="atl-forced-newline" /> - Optimal-f optimierte die Einsatzgröße einer Position </p></td> </tr> </tbody></table></div> </div> </div> <div class="hidden rendered-page"></div> <div class="wiki-content"> <div class="pagetitle" id="Social-Trading-Bridge"> <h2>Social-Trading-Bridge</h2> <p><strong>Hintergründe</strong></p><p>Ich habe zur Zeit 3 Handelsstrategien automatisiert auf FXCM-Trading-Station laufen bei aktuell 10 handelbaren CFDs aus dem Bereich Forex, Indices, Rohstoffen. Diese werden 24x7 auf einem Trading-Server (Root-Server) berechnet und ausgeführt. Die Strategien laufen dabei sowohl auf einem Echtzeitkonto, als auch auf einem Demokonto (hier aber mit anderen Kontraktgrößen).</p><p>Die Strategien arbeiten dabei profitabel mit Ø 5 Trades/Tag über alle Positionen mit durchgehender Absicherung durch dyn. Stopps (Betrachtungszeitraum -12M).</p><p>Ich selbst bin kein Vollzeit-Trader, da ich zu 100% berufstätig bin!</p><p><img class="wysiwyg-unknown-macro" src="/wiki/plugins/servlet/confluence/placeholder/unknown-macro?name=gliffy&locale=de_DE&version=2" /></p><p> </p><p>Ich würde gerne eine FXCM-Social-Trading-Bridge implementieren, die eine aydondo-API nutzt, um folgende Anforderungen abzudecken:</p><ul><li>(MUST) Weitergabe von Kauf und Verkaufsorder für Short/Long, die durch Verzögerungen in der API, sowie unterschiedlichen Tickdaten garantierte Aufträge sein müssen d.h. im Zweifel Market-Orders</li><li>(SHOULD) Es wäre wahrscheinlich perfekt, wenn die Weitergabe und die Rückgabe nach Abarbeitung asynchron bzw. auf Events basieren könnte (analog der FXCM-Connect-API) d.h. Weitergabe eines Trades die dann gesichert über eine Queue abgearbeitet wird und dann mit dem Ergebnis nochmals über ein Event die Ergebnisse zurückgibt. Dies würde bei mehreren gleichzeitigen Events die Ausführungsgeschwindigkeit deutlicher erhöhen. Dies ist für meine Art des Tradings (Swing-Trading und kein Scalping) aber sekundär sein</li><li>(SHOULD) Es wäre insb. für die Anbindung geschickt, wenn es einen Simulations/Demomodus gibt, d.h. die Orders würden nicht real ausgeführt</li><li>(SHOULD) Da die Strategien teilweise Trailing-Stopps umsetzen, wäre im Sinne der Transparenz es sinnvoll Stopp-Kurse weitergeben zu können. Da diese zu einem späteren Zeitpunkt als die eigentlichen Kauftrades erfolgen können, müsste hier bereits in #1 ein RefKey genutzt werden, um sich auf diese Order beziehen zu können</li><li>Sollten keine Stopps abgebildet werden, würden dann immer nur finale Verkaufsentscheidungen durchgereicht werden. In den Strategien werden diese aber teilweise nachgezogen und es würde so die Transparenz erhöhen.</li><li>(SHOULD) Mein Traum wäre, wenn die automatischen Setups mit manuellen Chart-Analysen einhergehen. Die Chartbilder würden dabei in FXCM gezeichnet werden. Es wäre perfekt, wenn daher Chartbilder als PNG-Bilder weitergereicht werden können zu Ayondo zur Detaillierung eines Trades. Ich stelle es mir dabei so vor, dass händische Chartbilder und Analysen gezeichnet werden, der Entry/Exit-Zeitpunkt aber durch die Handelsstrategie erfolgt. Zum Zeitpunkt des Trades würde dann das Chartbild als Binärdatei im PNG-Format weitergegeben werden.</li></ul><p> </p><p>Die Bridge nutzt dabei in Richtung FXCM die vorhandene FXCM-Connect-API, um hier eine saubere und robuste Schnittstelle zu nutzen. Da ich sehr gerne sehr zeitnah die technische Anbindung (2W) vornehmen möchte, um meinen Urlaub optimal zu nutzen, würde ich gerne mich zu den möglichen technischen Anbindungsformen nochmals mit Ihnen abgleichen. Ich möchte dabei insb. Doppelarbeiten vermeiden insb. wenn Sie bereits ähnliches planen. Ich würde aber zudem sicherstellen wollen, dass ein derartiges Vorgehen von Ihrer Seite auch gewünscht ist.</p><p> </p><p><strong>Warum will ich dies eigentlich tun? </strong></p><p>Ich halte die Idee von Social-Trading für eine absolut ausbaufähige und noch am Anfang stehende Entwicklung am Finanzmarkt. Ich möchte hier von Anfang an dabei sein und hier als Trader mich „hocharbeiten“. Mir geht es persönlich beim Trading nicht primär um Geld, sondern darum zu beweisen, dass man hier erfolgreich sein kann und weil ich Spaß habe, daran zu arbeiten …</p><p> </p><p>Schöne Grüße aus Hamburg/Ahrensburg …</p> </div> </div> <div class="hidden rendered-page"></div> <div class="wiki-content"> <div class="pagetitle" id="Produktanforderungen"> <h2>Produktanforderungen</h2> <p style="text-align: right;"> <a class='aui-button create-from-template-button'data-space-key='SHARPUB' href='http://www.shareholder24.de/wiki?createDialogSpaceKey=SHARPUB&createDialogBlueprintId=de770911-c065-493f-a218-4da19bfbd 8a7'data-content-blueprint-id='de770911-c065-493f-a218-4da19bfbd8a7'>Produktanforderungen hinzufügen</a> </p> <hr /> <p> <div class="error">Fehler beim Rendern des Makros 'detailssummary': In template Confluence.Templates.Macro.MasterDetail.contentLink2: When evaluating "contextPath()": Error while computing function "contextPath()": null</div> </p> </div> </div> <div class="hidden rendered-page"></div> <div class="wiki-content"> <div class="pagetitle" id="Scripting-Engine"> <h2>Scripting-Engine</h2> <p><span style="line-height: 1.4285715;">Die Scripting-Engine steht ab der Version 13.5 zur Verfügung stehen und die bisherige Filter-Techniken zunächst erweitern, um eine freie programmierbare Script-Engine. Später wird die bisherige Filter-Lösung aber abgelöst. Zielstellung in der Entwicklung war es den Nutzer einen sehr hohen Freiheitsgrad in der Umsetzung eigener Filter zu geben und als Zusatznutzen, Routineaufgaben in der Titel-und Kurspflege automatisieren zu können. Eine Dokumentation der aktuell zur Verfügung stehenden Methoden ist zu finden unter: <a href="http://www.shareholder24.de/docs/classes.html" class="external-link">http://www.shareholder24.de/docs/classes.html</a></span></p><p><style type='text/css'>/*<![CDATA[*/ div.rbtoc1431964461553 {padding: 0px;} div.rbtoc1431964461553 ul {list-style: disc;margin-left: 0px;} div.rbtoc1431964461553 li {margin-left: 0px;padding-left: 0px;} /*]]>*/</style><div class='toc-macro rbtoc1431964461553'> <ul class='toc-indentation'> <li><a href='#Scripting-Engine-Highlights'>Highlights</a></li> <li><a href='#Scripting-Engine-Überblick'>Überblick</a> <ul class='toc-indentation'> <li><a href='#Scripting-Engine-Editor'>Editor</a></li> <li><a href='#Scripting-Engine-MigrationderAlt-Scripte'>Migration der Alt-Scripte</a></li> </ul> </li> <li><a href='#Scripting-Engine-SyntaxderScripte'>Syntax der Scripte</a> <ul class='toc-indentation'> <li><a href='#Scripting-Engine-Identifiers'>Identifiers</a></li> </ul> </li> </ul> </div></p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" width="800" src="/wiki/download/attachments/30670904/Bedienoberflaeche-Scripting-Studio.png?version=1&modificationDate=1406389274000&a pi=v2" data-image-src="/wiki/download/attachments/30670904/Bedienoberflaeche-Scripting-Studio.png?version=1&modificationDate=1406389274 000&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="32505858" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Bedienoberflaeche-Scripting-Studio.png" data-base-url="http://www.shareholder24.de/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="30670904" data-linked-resource-container-version="17"></span></p><h3 id="Scripting-Engine-Highlights">Highlights</h3><ul style="list-style-type: square;"><li>Zugriff auf (alle) internen Datenobjekte</li><li>Syntax-Highlighting</li><li>Support einer produktiven und einer Entwicklungs-Version</li><li>Support für Script-Bibliotheken, womit jedes Script von einem anderen aufgerufen werden kann. Dieser Mechanismus wird auch genutzt, um eine gemeinsame Bibliothek zu pflegen</li><li>Hohe Ausführungsgeschwindigkeit (hier 0.4s über alle Aktien inkl. Log-Ausgaben)</li><li>Source-Explorer</li></ul><h3 id="Scripting-Engine-Überblick">Überblick</h3><p>Die Scripting-Engin führte freie geschriebene Scripte aus. Die Skripte sind in einem Pascal-Syntax, wobei spätere Alternativ-Sprachen denkbar sind (VB, Java, JS, Python). Der Einsatz der Scripting-Engine soll durchgängig durch Shareholder vollzogen werden, d.h. eine Verwendung sowohl in Filter-Systemen, Druck-Templates als auch indirekt in den Handelssystemen ist vorgesehen. Der Startpunkt (v13.5) liegt hier bei einem Filtersystemen. Dabei ist ein wesentliches Feature der Zugriff auf alle relevanten internen Datenobjekte von Shareholder. Es stehen damit beispielsweise folgende Funktionen zur Verfügung, die nicht nur lesenden Charakter haben:</p><ul style="list-style-type: square;"><li>Automatische Anlegen einer Watchliste auf der Basis von Stammdaten-Filtern</li><li>Automatische Bereinigung von Kommentaren in den vorhandenen Transaktionen, um hier nachträglich Ergänzungen vorzunehmen</li><li>Automatische Bereinigung von Kursdaten</li><li>Automatisches manuelles Erzeugen von Dateien (z.B. CSV-Export-Dateien) mit eigenen komplexeren Ausdrücken</li><li>Anzeige von interessanten Titeln nach eigenen Regeln in Filterlisten</li></ul><p>Folgender Syntax wird grundsätzlich unterstützt, womit komplette Programmstrukturen unterstützt werden:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <pre class="theme: Eclipse; brush: delphi; gutter: true" style="font-size:12px;">begin .. end procedure & function if .. then .. else for .. to .. do .. step while .. do repeat .. until try .. except & try .. finally blocks case statements array constructors (x:=[ 1, 2, 3 ];) ^ , * , / , and , + , - , or , <> , >=, <= , = , > , < , div , mod , xor , shl , shroperators access to object properties and methods ( ObjectName.SubObject.Property)</pre> </div></div><p>Damit sind in Summe komplexere Scripte in Shareholder nutzbar für verschiedene Strategie-Filter-Umsetzungen aber auch für eigene Massenoperationen bis hin zu Im-Exportszenarien. Die in Shareholder genutzt objektorientierte Programmierung kann dabei in Skripten werden, um auf Daten und Methoden hierarchisch zuzugreifen. Das Schreiben eigener Klassen würde zuweit führen und ist auch nicht umgesetzt.</p><h4 id="Scripting-Engine-Editor">Editor</h4><p>Der Editor setzt folgende Anforderungen um (Status v2.5):</p><ul style="list-style-type: square;"><li>freie Codeeingabe </li><li>Autovervollständigung</li><li>Parameter-Darstellung d.h. innerhalb von Funktionen, Proceduren werden die erlaubten Parameter gezeigt</li><li>Syntax-Highlighting auf die eingestellte Default-Sprache (hier Pascal/Delphi) und </li><li>die Wiederverwendung von Code-Fragmenten durch Code-Bibliotheken</li><li>Code-Folding d.h. das Ein/Ausklappen von Code-Fragementen</li><li>Snippet-Bibliothek, um sofort typische Fragemente nutzen zu können</li><li>Automatischen Source-Explorer für aktuelle procedures und Variablen</li></ul><p>Ab >v2.6 geplant:</p><ul style="list-style-type: square;"><li>Breakpoints (Haltepunkte, wo die Programmausführung automatisch stopp)</li><li>Step-by-Step Ausführung</li><li>Variablen-Watcher d.h. zur Laufzeit können die aktuell gesetzten Werte ausgewertet werden</li></ul><p> </p><p><em>Siehe zur Nutzung:</em></p><ul style="list-style-type: square;"><li><a href="/wiki/display/SHARPUB/Scripting-Studio+und+Bedienung">Scripting-Studio und Bedienung</a></li></ul><p> </p><h4 id="Scripting-Engine-MigrationderAlt-Scripte">Migration der Alt-Scripte</h4><p>Da das bisherige Filtersystem bisher wenig verwendet worden ist, wird es nur eine Basis-Migration geben, ohne zwangsweise sofort lauffähige Scripte nutzen zu können. Eine Nachbearbeitung wird hier sogar Pflicht sein. Eine zeitweise Coexistenz der alten Möglichkeiten und des neuen Filtersystems ist nach aktuellem Status vorgesehen.</p><p>Die bisherigen Alt-Scripte wurden soweit sinnvoll auch im Scripting-Studio bereits integriert. Der Schwerpunkt der bereitgestellten Standard-Scripte sollen aber nutzbare Aktien-Strategien sein.</p><h3 id="Scripting-Engine-SyntaxderScripte">Syntax der Scripte</h3><p><br />Scripte enthalten a) procedure und function declarations und b) Haupt-Blöcke. Dennoch sind beide optional, d.h. es ist nicht zwingend erforderlichm, dass ein begin..end Block geschrieben wird. Hier einfach einige Beispiele:</p><p>SCRIPT 1:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <pre class="theme: Eclipse; brush: delphi; gutter: true" style="font-size:12px;">procedure DoSomething; begin CallSomething; end; begin CallSomethingElse; end;</pre> </div></div><p> </p><p><span style="line-height: 1.4285715;">SCRIPT 2:</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <pre class="theme: Eclipse; brush: delphi; gutter: true" style="font-size:12px;">begin CallSomethingElse; end;</pre> </div></div><p> </p><p>SCRIPT 3:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <pre class="theme: Eclipse; brush: delphi; gutter: true" style="font-size:12px;">function MyFunction; begin result:='Ok!'; end;</pre> </div></div><p><br />SCRIPT 4:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <pre class="theme: Confluence; brush: delphi; gutter: true" style="font-size:12px;">CallSomethingElse;</pre> </div></div><p>Wie in Passcal, sollten Statements immer mit einem Semikolon ";" abgeschlossen werden. begin..end Blöcke können jederzeit genutzt werden, um Statements zu gruppieren. Diese sind damit mit der Code-Folding-Funktion später auch ein-ausklappbar.</p><p><em>Siehe auch:</em></p><p><a href="/wiki/display/SHARPUB/Scripting+-+Logbuchnutzung">Scripting - Logbuchnutzung</a></p><h4 id="Scripting-Engine-Identifiers">Identifiers</h4><p>Identifier Namen in Scripten (Variablen-Namen, function and procedure names, etc.) folgen den meisten bekannten Regeln aus Pascal d.h. </p><ul><li>should begin with a character (a..z or A..Z), or '_', and can be followed by alphanumeric chars or '_' char. </li><li>Cannot contain any other character os spaces.</li></ul><p>Gültige Identifier:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <pre class="theme: Eclipse; brush: delphi; gutter: true" style="font-size:12px;">VarName _Some V1A2</pre> </div></div><p><span style="line-height: 1.4285715;">Einige ungültige Identifier:</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <pre class="theme: Eclipse; brush: delphi; gutter: true" style="font-size:12px;">2Var My Name Some-more This,is,not,valid</pre> </div></div><p> </p><p> </p><p> </p> </div> </div> <div class="hidden rendered-page"></div> <div class="wiki-content"> <div class="pagetitle" id="Scripting für Indikatoren"> <h3>Scripting für Indikatoren</h3> <p>Ich versuche einmal die Möglichkeiten anhand von Beispielen zu erklären.</p><div class="confluence-information-macro confluence-information-macro-warning"> <span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"></span> <div class="confluence-information-macro-body"><p>Zum jetzigen Zeitpunkt ist die Syntaxhilfe im Script-Studio noch nicht final. Es werden hier deutlich zuviele Optionen gezeigt. Dies ist zwar die maximale Flexiblität aber entsprechend auch unübersichtlich.</p></div> </div> <p> </p><h4 id="ScriptingfürIndikatoren-Beispiele">Beispiele</h4><p>Die folgenden Beispiele stehen auch im Scripting-Studio in der Profiversion zur Verfügung und ergeben nach Ausführung folgende Ergebnisse d,h. direkte Logausgabe im Scripting-Studio nach eigener Formatierung und im Watchlisten-Fenster die korrekte automatische Zuordnung und Erstellung der Titel.</p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image confluence-thumbnail" width="300" confluence-query-params="effects=border-polaroid,blur-border" src="/wiki/download/thumbnails/31358994/image2014-7-31%2020%3A39%3A41.png?version=1&modificationDate=1406839183000&a pi=v2&effects=border-polaroid,blur-border" data-image-src="/wiki/download/attachments/31358994/image2014-7-31%2020%3A39%3A41.png?version=1&modificationDate=14068391 83000&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="32735233" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="image2014-7-31 20:39:41.png" data-base-url="http://www.shareholder24.de/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="31358994" data-linked-resource-container-version="3"></span> <span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image confluence-thumbnail" width="300" confluence-query-params="effects=border-polaroid,blur-border" src="/wiki/download/thumbnails/31358994/image2014-7-31%2020%3A40%3A3.png?version=1&modificationDate=1406839205000&ap i=v2&effects=border-polaroid,blur-border" data-image-src="/wiki/download/attachments/31358994/image2014-7-31%2020%3A40%3A3.png?version=1&modificationDate=140683920 5000&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="32735234" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="image2014-7-31 20:40:3.png" data-base-url="http://www.shareholder24.de/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="31358994" data-linked-resource-container-version="3"></span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <pre class="theme: Confluence; brush: delphi; gutter: true" style="font-size:12px;"> uses Common; (* CreateDate: 31.07.2014 Author: Jens Werschmoeller Required: 13.4.18 Ziel ist die Demonstration der Anwendung von Indikatoren. Hier am Beispiel am RSI-Indikator, wo eine Signalgenerierung abgefragt wird. Vorhandene Einstellungen werden dabei aus den Charteinstellungen übernommen, können aber auch per Parameter-Setup überschrieben werden Besonderheiten: - Der Indikator kann allein über die Konstante beim Aufruf CreateIndicatorWithType gewechselt werden - Der Ergebnistyp kann mit CalculateXXXX - Methoden zwischen Ergebniswert, Triggerwert, Aktivierungsgrad etc. jederzeit abgerufen werden - Es können aktiv Watchlisten manipuliert werden, hierzu wird über doSetup eine passende Watchliste, wenn notwendig angelegt und die gefundenen Titel hinzugefügt. Hierbei können dann auch beliebige Kommentare gesetzt werden *) (* Vorlagerte Variablendefinition ist nur für den Editor notwendig, damit diese erkannt werden und für die Autovervollständigung genutzt werden können *) var itIndicator : TISignalindicator; itStock: TStock; itLogItem: TListItem; itWatchlist: TWatchlist; itWatchItem: TWatchListItem; procedure doSetup; begin {* Watchliste anlegen, wenn nicht vorhanden *} itWatchlist:=varWatchlists.FindOrCreate('Script-GD-Crossover'); {* Alle vorhandenen Watchlisten-Einträge entfernen *} itWatchlist.List.Clear; (* Header für das Logging passend vorbereiten *) varLog.Column[1].Caption:='Indicator-Value'; varLog.Column[1].Width:=200; varLog.Column[2].Caption:='Kursanzahl'; varLog.Column[2].Width:=200; varLog.Column[3].Caption:='Signaltyp'; varLog.Column[3].Width:=200; end; procedure doRun( indicatorTypeID: Integer); var fSegment: TSegment; begin varLog.BeginUpdate; varLog.Items.Clear; (* Durchlauf alle Titel zur Prüfung *) for idxStock:=1 to varStocks.Count do begin itStock:=varStocks.Items[idxStock-1]; (* Verwende nur Titel, die Deutsche Bank im Namen enthalten if (Pos('Deutsche Bank',itStock.Name)<>0) then if (Pos('DAX',varSegments.GetName( itStock.StockSegments ))<>0) then etc. *) if (itStock.Country='Deutschland') then begin (* Erzeuge den Indikator hier als den RSI-Indikator *) itIndicator:=varIndicators.CreateIndicatorWithTypeID(indicatorTypeID); (* Gebe dem Indikator die notwendigen Kursdaten des aktuellen Titels *) itIndicator.Kurse:=itStock.Kurs.createCache; (* Mittels Indicator.Parameter.Items[1].Wert:=10; könnten die Parameter des Indikators verändert werden. Die Bedeutung der Parameter muss pro Indikator nachgeschaut werden z.B. über Einstellungen / Indikatorengruppen / Doppelklick auf den Indikator *) (* Berechne die Ergebniswerte für das heutige Datum fValue:=itIndicator.CalculateValue(Trunc(Now()), itIndicator.Kurse); *) fValue:=itIndicator.CalculateErgActivation(Trunc(Now()), itIndicator.Kurse); (* Wenn ein Kauf/Verkaufssignal vorliegt, dann Logeintrag + Watch-Eintrag erzeugen *) if (fValue<>0) then begin (* Logging der Ergebnisse *) itLogItem:=doLogAndCheck(itStock.Displayname+' ['+itStock.ISIN+'], '+itStock.Sector); itLogItem.SubItems.Add(FloatToStr(fValue)); if (itIndicator.Kurse<>nil) then itLogItem.SubItems.Add(InttoStr(itIndicator.Kurse.Count)) else itLogItem.SubItems.Add('-'); if (fValue<0) then itLogItem.SubItems.Add('Verkaufssignal') else itLogItem.SubItems.Add('Kaufsignal'); {* Watchlisteneintrag erzeugen *} itWatchItem:=TWatchListItem.Create(itStock); itWatchItem.CompareDate:=Now; if (fValue<0) then itWatchItem.Comment:='IndSignal:Verkaufssignal' else itWatchItem.Comment:='IndSignal:Kaufsignal'; itWatchlist.List.Add(itWatchItem); end; end; end; varLog.EndUpdate; end; begin doSetup(); doRun(cRSI); end;</pre> </div></div> </div> </div> <div class="hidden rendered-page"></div> <div class="wiki-content"> <div class="pagetitle" id="Scripting für Stammdaten"> <h3>Scripting für Stammdaten</h3> <p><style type='text/css'>/*<![CDATA[*/ div.rbtoc1431964461806 {padding: 0px;} div.rbtoc1431964461806 ul {list-style: disc;margin-left: 0px;} div.rbtoc1431964461806 li {margin-left: 0px;padding-left: 0px;} /*]]>*/</style><div class='toc-macro rbtoc1431964461806'> <ul class='toc-indentation'> <li><a href='#ScriptingfürStammdaten-StartmiteinemBeispiel'>Start mit einem Beispiel</a></li> <li><a href='#ScriptingfürStammdaten-GrundprinzipienundvorhandeneStrukturen'>Grundprinzipien und vorhandene Strukturen</a></li> </ul> </div></p><h4 id="ScriptingfürStammdaten-StartmiteinemBeispiel">Start mit einem Beispiel</h4><p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="/wiki/download/attachments/31358992/image2014-5-4%2013%3A44%3A21.png?version=1&modificationDate=1399211069000&a pi=v2" data-image-src="/wiki/download/attachments/31358992/image2014-5-4%2013%3A44%3A21.png?version=1&modificationDate=139921106 9000&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="31588413" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="image2014-5-4 13:44:21.png" data-base-url="http://www.shareholder24.de/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="31358992" data-linked-resource-container-version="3"></span></p><p>Dieses Beispiel macht eigentlich nicht viel, außer eine Log-Ausgabe mit "Hello World" auszugeben für den unter der ISIN-Nummer DE* enthaltenen Titel:</p><p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="/wiki/download/attachments/31358992/image2014-5-4%2013%3A46%3A53.png?version=1&modificationDate=1399211222000&a pi=v2" data-image-src="/wiki/download/attachments/31358992/image2014-5-4%2013%3A46%3A53.png?version=1&modificationDate=139921122 2000&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="31588414" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="image2014-5-4 13:46:53.png" data-base-url="http://www.shareholder24.de/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="31358992" data-linked-resource-container-version="3"></span></p><h4 id="ScriptingfürStammdaten-GrundprinzipienundvorhandeneStrukturen">Grundprinzipien und vorhandene Strukturen</h4><p>In der IDE sind folgende zentrale Objekte registriert, die für alle anderen Funktionen genutzt werden können:</p><ul style="list-style-type: square;"><li>Variable: varStocks</li><li>Klassen: TStock, TStocks, TNetValues, TNetValue</li></ul><p>Sie können wenn Sie "varStocks." eingeben, automatisch alle vorhandenen Methoden, Funktionen und Properties einsehen, die Sie für sich nutzen können. Das Besondere ist hierbei der native Zugriff auf die Orginal-Objekte von Shareholder mit allen Konsequenzen. Man kann daher über ein Skript auch eigene Aktien anlegen, Variablen, Beschriftungen etc. verändern. Es ließe sich sogar ein eigener Importer schreiben, der Daten von extern importiert.</p><p>TODO: Aktuell wird beinahe die komplette Objektstruktur abgebildet. Ich werde die Struktur zeitnah aufräumen, so dass nur noch die relevanten Funktionen zur Verfügung stehen.</p><p> </p><div class="confluence-information-macro confluence-information-macro-information"> <span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span> <div class="confluence-information-macro-body"><p>Aus Zeitgründen ist das Kapitel nur angefangen und wird hoffentlich bald weitergeschrieben werden können von mir. Mir fehlt aktuell etwas die Zeit ...</p></div> </div> <p><br /><br /></p><p> </p><p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="/wiki/download/attachments/31358992/uAktie.png?version=1&modificationDate=1404812977000&api=v2" data-image-src="/wiki/download/attachments/31358992/uAktie.png?version=1&modificationDate=1404812977000&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="32178185" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="uAktie.png" data-base-url="http://www.shareholder24.de/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="31358992" data-linked-resource-container-version="3"></span></p><p> </p> </div> </div> <div class="hidden rendered-page"></div> <div class="wiki-content"> <div class="pagetitle" id="Scripting - Logbuchnutzung"> <h3>Scripting - Logbuchnutzung</h3> <p>Bereits in eines der ersten Beispiele integriert wurde das Logging in eine Standard-Debug-Ausgabe. Die hohe Flexibilität in der Darstellung des Loggings wird über eine Komponente von TMS-Software ermöglicht "TAdvListview". </p><p><a href="http://www.tmssoftware.com/alvdoc.htm#Properties" class="external-link">http://www.tmssoftware.com/alvdoc.htm#Properties</a></p><p>Um die Funktionsweise möglichst einfach zu beschreiben hier konkret ein Beispiel aus eines der Standard-Beispielen:</p><p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="/wiki/download/attachments/32440337/image2014-7-26%2016%3A6%3A36.png?version=1&modificationDate=1406390882000&a pi=v2" data-image-src="/wiki/download/attachments/32440337/image2014-7-26%2016%3A6%3A36.png?version=1&modificationDate=140639088 2000&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="32505859" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="image2014-7-26 16:6:36.png" data-base-url="http://www.shareholder24.de/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="32440337" data-linked-resource-container-version="3"></span></p><p> </p><p>Der dabei für verantwortliche Code ist sehr einfach für den Fall, dass ein Titel passend gefunden wurde. Die genutzten Variablen können (müssen aber nicht) zuvor definiert werden mit itLogItem: TAdvListItem; itStock und lSchillerKGV sind zuvor belegt worden im Programmcode und werden jetzt im Beispiel nur genutzt. itStock ist vom Typ TStock und besitzt daher dessen Eigenschaften. doLogAndCheck ist bereits in der Gemeinsamen Bibliothek angelegt und ist nachfolgend nur zur Vereinfachung dargestellt. Der Code kann natürlich aber auch jedesmal aufgenommen werden bzw. beliebig angepasst werden.</p><p>Siehe: <a href="http://www.shareholder24.de/docs/class_t_stock.html" class="external-link">TStock</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <pre class="theme: Confluence; brush: delphi; gutter: false" style="font-size:12px;">function doLogAndCheck( logMessage ): TListItem; begin result:=varLog.Items.Add; with result as TListItem do begin Caption:=logMessage; checked:=true; groupID:=1; end; end; itLogItem:=doLogAndCheck(itStock.Displayname+' ['+itStock.ISIN+'], '+itStock.Sector); itLogItem.subItems.Add('-'); itLogItem.subItems.Add(FloatToStr(lSchillerKGV));</pre> </div></div><p> </p><p>Hier der zugehörige Code-Teil für die Darstellung jedes geprüften Titels. Die GroupID ordnet dabei der ersten optischen Gruppe (siehe Screenshot / zwei ein-ausklappbare Bereiche) diesen Logeintrag zu.Im ersten Beispiel (s.o.) wird dies mit groupID:=1 entsprechend der zweiten Gruppe zugeordnet.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <pre class="theme: Confluence; brush: delphi; gutter: false" style="font-size:12px;">function doLog( logMessage): TListItem; begin result:=varLog.Items.Add; with result as TListItem do begin Caption:=logMessage; groupID:=0; end; end; doLog(itStock.Displayname+'- Anzahl Jahre:'+intToStr(cntYears)); </pre> </div></div> </div> </div> <div class="hidden rendered-page"></div> <div class="wiki-content"> <div class="pagetitle" id="Scripting-Studio und Bedienung"> <h3>Scripting-Studio und Bedienung</h3> <h4 id="Scripting-StudioundBedienung-QuickGuide">Quick Guide</h4><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" width="800" src="/wiki/download/attachments/31358996/Bedienoberflaeche-Scripting-Studio.png?version=1&modificationDate=1406389239000&a pi=v2" data-image-src="/wiki/download/attachments/31358996/Bedienoberflaeche-Scripting-Studio.png?version=1&modificationDate=1406389239 000&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="32505857" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Bedienoberflaeche-Scripting-Studio.png" data-base-url="http://www.shareholder24.de/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="31358996" data-linked-resource-container-version="7"></span></p><p><span class="confluence-anchor-link" id="Scripting-StudioundBedienung-Point1"></span></p><p><style type='text/css'>/*<![CDATA[*/ div.rbtoc1431964462015 {padding: 0px;} div.rbtoc1431964462015 ul {list-style: disc;margin-left: 0px;} div.rbtoc1431964462015 li {margin-left: 0px;padding-left: 0px;} /*]]>*/</style><div class='toc-macro rbtoc1431964462015'> <ul class='toc-indentation'> <li><a href='#Scripting-StudioundBedienung-QuickGuide'>Quick Guide</a></li> <li><a href='#Scripting-StudioundBedienung-(1)AuswahldesaktivenScriptes'>(1) Auswahl des aktiven Scriptes</a> <ul class='toc-indentation'> <li><a href='#Scripting-StudioundBedienung-HinweisezuDatensicherungund-Ablage'>Hinweise zu Datensicherung und -Ablage</a></li> </ul> </li> <li><a href='#Scripting-StudioundBedienung-(2)Einstellungen'>(2) Einstellungen</a></li> <li><a href='#Scripting-StudioundBedienung-(3)Source-Explorer'>(3) Source-Explorer</a></li> <li><a href='#Scripting-StudioundBedienung-(4)Code-Beispiele'>(4) Code-Beispiele</a></li> <li><a href='#Scripting-StudioundBedienung-(5)Debug-Ausgabe'>(5) Debug-Ausgabe</a></li> <li><a href='#Scripting-StudioundBedienung-(6)Code'>(6) Code</a></li> </ul> </div></p><h4 id="Scripting-StudioundBedienung-(1)AuswahldesaktivenScriptes">(1) Auswahl des aktiven Scriptes</h4><p>Es werden beim Laden eines Filter immer gleichzeitig drei Skripte geladen, um das spätere Handling deutlich zu vereinfachen:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th class="confluenceTh">Speicherung unter</th><th class="confluenceTh">Titel</th><th colspan="1" class="confluenceTh">Zielstellung</th><th colspan="1" class="confluenceTh">Sichtbarkeit</th></tr><tr><td class="confluenceTd">\Daten\Scripts\<Name>.script</td><td class="confluenceTd">Aktiver Filter</td><td colspan="1" class="confluenceTd">Produktiver Filter</td><td colspan="1" class="confluenceTd">Ja (ab 2.6) in den Filtermasken im Frontend außerhalb des Scripting-Studios</td></tr><tr><td colspan="1" class="confluenceTd"><span>\Daten\Scripts\<Name>.script-dev</span></td><td colspan="1" class="confluenceTd">Aktiver Filter ("Spielwiese")</td><td colspan="1" class="confluenceTd">Test/Entwicklungsversion des produktiven Filters für Weiterentwicklungen, ohne den produktiven "Filter" kaputt zu entwickeln. Jeder Filter besitzt immer einen produktive und eine Entwicklungs(Sandbox)-Version. Eine Entwicklungsversion kann zur Produktiv-Version gemacht werden (wird hier kopiert) über das Hauptmenü "Projekte / Entwicklungsversion live nehmen".</td><td colspan="1" class="confluenceTd">Nein nur im Scripting-Studio</td></tr><tr><td colspan="1" class="confluenceTd"><span>\Daten\Scripts\Common.script</span></td><td colspan="1" class="confluenceTd">Gemeinsame Bibliothek</td><td colspan="1" class="confluenceTd">Hier sollte gemeinsam genutzte Funktionen und Hilfsroutinen ausgelagert werden, um effektiv in allen Filter zu arbeiten und Redundanzen zu vermeiden. Da auch das gegenseitige Einbinden der Standard-Scripte erlaubt ist, dient diese Sonderbehandlung aber der Effizienzsteigerung, um hier gezielte wiederverwendbare Funktionen und Procedures zu verlagern, um die eigentlichen Filter schlank und effizient zu halten.</td><td colspan="1" class="confluenceTd"><span>Nein nur im Scripting-Studio</span></td></tr><tr><td colspan="1" class="confluenceTd"><span>\Daten\Scripts\Common.script-dev</span></td><td colspan="1" class="confluenceTd"><span>Gemeinsame Bibliothek <span>("Spielwiese")</span></span></td><td colspan="1" class="confluenceTd"><span>Test/Entwicklungsversion der gemeinsam genutzten Bibliothek</span></td><td colspan="1" class="confluenceTd"><span>Nein nur im Scripting-Studio</span></td></tr></tbody></table></div><h5 id="Scripting-StudioundBedienung-HinweisezuDatensicherungund-Ablage">Hinweise zu Datensicherung und -Ablage</h5><p>Da in Scripten sehr viel Zeit und Aufwand gesteckt werden kann, ist die Datensicherung nicht zu unterschätzen. Aktuell umgesetzt ist daher die Erstellung einer automatisches Backup-Version mit <Name>-backup-YYYYMMDD-HHMM bei jedem Speichervorgang (<F2>). Zu einem späteren Zeitpunkt ist auch die Synchronisation mit eigenen Dropbox-Instanzen vorgesehen. Aktuell werden diese Sicherungsdateien zu einem Script wieder gelöscht, wenn eine Script-Version "Verifiziert" wird (siehe Kontextmenü zu einem Filtereintrag (r.Maustaste über einen Filternamen)). </p><h4 id="Scripting-StudioundBedienung-(2)Einstellungen">(2) Einstellungen</h4><ul style="list-style-type: square;"><li>Für weitere Ausbaustufen wurde sofort ein Einstellungs-Grid angelegt, was praktisch unendlich fortgeführt werden kann durch seine Scrollfähigkeit. Beim Start sind nur wenige Einstellungen vorhanden:<ul style="list-style-type: square;"><li>Codebeispiele ausführbar: Dies bezieht sich auf die unter (4) gezeigten Code-Beispiele, die so beeinflusst werden. Im Standard sind die Beispiele nur als Hinweise für die abzubildende Mindeststruktur gedacht. Für die Sandbox ist es aber wahrscheinlich interessant auch lauffähige Codebeispiele zu haben. Die Einstellung wird geändert durch Klick in die Wert-Spalte, wo sich dann eine entsprechende Drop-Down-Box öffnet</li><li>Code-Folding nutzen: Im Programm können dann alle begin..end - Blöcke ein- und ausgeklappt werden. Dies erleichtert das Handling bei längeren Skripten.</li></ul></li></ul><h4 id="Scripting-StudioundBedienung-(3)Source-Explorer">(3) Source-Explorer</h4><p>Der Source-Explorer versucht zeitnah synchron zum Quellcode die Struktur des Skriptes wiederzugeben, wobei unterschieden wird nach</p><ul style="list-style-type: square;"><li>procedures: Alle Funktionen und Proceduren im Code, wobei Funktionen mit gelb markiert werden und proceduren mit grün</li><li>uses: Alle eingebundenen Fremdbibliotheken. Dies kann die Common-Bibliothek sein (siehe (1)) oder alle anderen vorhandenen Skripte</li><li>variables: Alle nicht lokalen Variablen (innerhalb einer procedure oder function definiert) werden hier gezeigt.</li></ul><p>Mit Doppelklick auf einen Eintrag springt der Cursor automatisch an die zugehörige Programmcode-Position.</p><h4 id="Scripting-StudioundBedienung-(4)Code-Beispiele">(4) Code-Beispiele</h4><p>Dies sind aktuell nicht erweiterbare Code-Beispiele (TODO: Pflege sollte außerhalb der IDE möglich sein und auch über Updates ermöglicht werden z.B. ScriptStudio.MOD).</p><p>Mit Doppelklick auf einen Eintrag wird das Codebeispiel übernommen. Aktuell existiert eine Einstellung unter (1), um die Beispiele entweder nur als Struktur oder lauffähig zu verwenden.</p><h4 id="Scripting-StudioundBedienung-(5)Debug-Ausgabe">(5) Debug-Ausgabe</h4><p>Dies ist eigentlich eines der Highlights der Umsetzung und ist auch bisher nur eine erste Version, die spätere deutlich ausgebaut wird. Ziel ist es die Ergebnisse aus einem Filter-Lauf übersichtlich und performant darzustellen. Die Debug-Ausgabe wird bis zur endgültigen Version erweitert, so dass direkt Watchlisten-Einträge erzeugt werden können (analog der heutigen Lösung).</p><p>Bereits jetzt sind folgende Besonderheiten möglich:</p><ul style="list-style-type: square;"><li>Nutzung von Gruppen, um Ergebnisse im Filtervorgang zu gruppieren. Im Standard sind aktuell 3 Gruppen angelegt</li><li>Ein/Ausklappen von Gruppen</li><li>Nutzung von Checkbox-Markierungen </li><li>Mehrspaltiges Layout, womit Informationen anders und strukturiert ausgegeben werden können</li></ul><p> </p><h4 id="Scripting-StudioundBedienung-(6)Code">(6) Code</h4><p>Hier befindet sich der Quelltexteditor der analog einem Notepad funktioniert mit den vorhandenen Tastenkombinationen (Strg-C-Kopieren, Strg-V-Einfügen etc.). Die Besonderheit ist hier, dass mit dem vorhandenen Code ein automatische Code-Highlighting erfolgt d.h. Schlüsselwörter oder Strukturen werden automatisch hervorgehoben in Schriftart und Form. So werden Kommentare beispielsweise immer kursiv/blau dargestellt.</p><p>Für die Entwicklung sind besonders folgende Funktionen relevant:</p><ul style="list-style-type: square;"><li>Strg + "." zeigt die aktuell gültigen Funktionen/Konstanten/Variablen/Methoden an</li><li>( ) nach einer Procedure oder Funktion zeigt alle gültigen Werte an</li></ul><p>Übergreifend unabhängig vom Quell-Code kann mit:</p><ul style="list-style-type: square;"><li>F8 - Der Quellcode überprüft werden. Fehler werden in der Statusleiste direkt angezeigt und der Cursor springt automatisch zur Fehlerstelle</li><li>F9 - Der Quellcode wird überprüft und danach ausgeführt. Im Datenverzeichnis wird im Erfolgsfall unter Unitname.PSC der übersetzte Quellcode angelegt und ab diesem Zeitpunkt kann dieser Filter als Bibliothek in anderen benutzt werden über "uses <Unitname>"</li></ul><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p> </div> </div> <div class="hidden rendered-page"></div> <div class="wiki-content"> <div class="pagetitle" id="Fehlerbehebungsartikel"> <h2>Fehlerbehebungsartikel</h2> <p style="text-align: right;"><a class='aui-button create-from-template-button'data-space-key='SHARPUB' href='http://www.shareholder24.de/wiki?createDialogSpaceKey=SHARPUB&createDialogBlueprintId=e2af5b5e-79a9-4899-9f7b-fd0e9680a c31'data-content-blueprint-id='e2af5b5e-79a9-4899-9f7b-fd0e9680ac31'>Fehlerbehebungsartikel hinzufügen</a></p><hr /><p><div class="error">Fehler beim Rendern des Makros 'content-report-table': In template Confluence.Templates.User.userLinkUrl: When evaluating "contextPath()": Error while computing function "contextPath()": null</div></p> </div> </div> <div class="hidden rendered-page"></div> <div class="wiki-content"> <div class="pagetitle" id="( VWDSYMBOL ) lässt sich weder statisch noch dynamisch auflösen"> <h3>( VWDSYMBOL ) lässt sich weder statisch noch dynamisch auflösen</h3> <h5 id="id-(VWDSYMBOL)lässtsichwederstatischnochdynamischauflösen-Problem">Problem</h5><p>Die Internet-Kursaktualisierung funktioniert nicht mehr wie gewohnt für historischen Kursdaten seit dem Update auf die letzten Version. Die Stammdaten sind jedoch die selben geblieben, da eigene Anpassungen vorgenommen worden sind.</p><h5 id="id-(VWDSYMBOL)lässtsichwederstatischnochdynamischauflösen-Lösung">Lösung</h5><p>Das Problem wird verursacht durch eine Anpassung der Kursaktualisierungs-Adressen. Diese verweisen nun nicht wie zuvor auf "<span style="color: black;">Yahoo.Symbol.[isin]“, sondern auf WDSYMBOL. Dieses Feld wird durch Tai-Pan-Importdaten automatisch gesetzt und ist in den offiziellen Stammdaten ebenfalls enthalten. Um es in eigenen Daten jedoch auf die bisherige Variante zurückzustellen oder manuell das VWD-Symbol zu setzen, bitte einfach folgende Schritte nachbilden:</span></p><div class="panel" style="background-color: #fff;border-width: 1px;"><div class="panelContent" style="background-color: #fff;"> Variante 1: Zurücksetzen der alten Aktualisierungsvariante:<br /><br /><ol><li>Bitte unter Einstellungen / Internetadressen beide markierten Yahoo.* Einträge jeweils so editieren, dass das eingesetzte VWDSymbol ersetzt wird über "Einfügen einer dynamischen Variable" durch <a>{Yahoo.Symbol.[isin]}</a><br /><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" height="250" src="/wiki/download/attachments/35553286/image2015-2-5%2020%3A8%3A48.png?version=1&modificationDate=1423163583000&ap i=v2" data-image-src="/wiki/download/attachments/35553286/image2015-2-5%2020%3A8%3A48.png?version=1&modificationDate=1423163583 000&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="35553284" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="image2015-2-5 20:8:48.png" data-base-url="http://www.shareholder24.de/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="35553286" data-linked-resource-container-version="1"></span><br /><br /><a>http://real-chart.finance.yahoo.com/table.csv?s={Yahoo.Symbol.[isin]}{BOERSE}&d={Bis.M}&e={Bis.T}&f={Bis.J}&g=d &a={Von.M-1}&b={Von.T}&c={Von.J}&ignore=.csv</a></li></ol><p> </p><p><span>Variante 2: </span>Alternative Variante : Manuelles Setzen der VWD-Symbole<br /><br />Wenn Sie die Nutzung der VWD-Ticker-Symbole beibehalten wollen, dann müssen Sie die Werte manuell setzen: </p><ol><li>Übernehmen Sie einfach den bisherigen Yahoo-Symbol-Eintrag in die Stammdaten, die Sie über Doppelklick auf einen Titel sehen:<br /><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" height="250" src="/wiki/download/attachments/35553286/image2015-2-5%2020%3A12%3A2.png?version=1&modificationDate=1423163583000&ap i=v2" data-image-src="/wiki/download/attachments/35553286/image2015-2-5%2020%3A12%3A2.png?version=1&modificationDate=1423163583 000&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="35553285" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="image2015-2-5 20:12:2.png" data-base-url="http://www.shareholder24.de/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="35553286" data-linked-resource-container-version="1"></span></li></ol> </div></div><h5 id="id-(VWDSYMBOL)lässtsichwederstatischnochdynamischauflösen-VerwandteArtikel">Verwandte Artikel</h5><p></p><p> <ul class="content-by-label"> <li> <div> <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Seite">Seite:</span> </div> <div class="details"> <a href="/wiki/display/SHARPUB/Break+Even+Point+-+Berechnung">Break Even Point - Berechnung</a> </div> </li> <li> <div> <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Seite">Seite:</span> </div> <div class="details"> <a href="/wiki/pages/viewpage.action?pageId=35553286">( VWDSYMBOL ) lässt sich weder statisch noch dynamisch auflösen</a> </div> </li> <li> <div> <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Seite">Seite:</span> </div> <div class="details"> <a href="/wiki/display/SHARPUB/Marktdaten+z.B.DAX%2C+MDAX+nicht+mehr+korrekt">Marktdaten z.B.DAX, MDAX nicht mehr korrekt</a> </div> </li> <li> <div> <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Seite">Seite:</span> </div> <div class="details"> <a href="/wiki/pages/viewpage.action?pageId=33619997">Fehlerhafte Kursdatenanzeige für ein Titel</a> </div> </li> <li> <div> <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Seite">Seite:</span> </div> <div class="details"> <a href="/wiki/pages/viewpage.action?pageId=31981572">Scheinbar fehlerhafte Depotsummen (absolut&relativ)</a> </div> </li> </ul> </p> </div> </div> <div class="hidden rendered-page"></div> <div class="wiki-content"> <div class="pagetitle" id="Break Even Point - Berechnung"> <h3>Break Even Point - Berechnung</h3> <h5 id="BreakEvenPoint-Berechnung-Problem">Problem</h5><p>Wenn ich den Stoppkurs in der entsprechenden Bearbeitungsmaske bearbeiten will, scheint dieser die Gebühren nicht zu berücksichtigen. Der BEP wird einfach nur auf den Einkaufskurs gesetzt und die Gebühren bleiben unberücksichtigt.</p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" height="250" src="/wiki/download/attachments/36077581/Stopkurs-Eingabe-2.png?version=1&modificationDate=1426435902000&api=v2" data-image-src="/wiki/download/attachments/36077581/Stopkurs-Eingabe-2.png?version=1&modificationDate=1426435902000&api=v 2" data-unresolved-comment-count="0" data-linked-resource-id="36077579" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Stopkurs-Eingabe-2.png" data-base-url="http://www.shareholder24.de/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="36077581" data-linked-resource-container-version="2"></span><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="/wiki/download/attachments/36077581/Stopkurs-Eingabe-1.png?version=1&modificationDate=1426435902000&api=v2" data-image-src="/wiki/download/attachments/36077581/Stopkurs-Eingabe-1.png?version=1&modificationDate=1426435902000&api=v 2" data-unresolved-comment-count="0" data-linked-resource-id="36077578" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Stopkurs-Eingabe-1.png" data-base-url="http://www.shareholder24.de/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="36077581" data-linked-resource-container-version="2"></span></p><p> </p><p> </p><h5 id="BreakEvenPoint-Berechnung-Lösung">Lösung</h5><p> </p><div class="panel" style="background-color: #fff;border-width: 1px;"><div class="panelContent" style="background-color: #fff;"> <p>Die Berechnung des Break-Even-Stops berücksicht Gebühren auf Basis der globalen Programm-Einstellungen. #</p><ol><li>Daher bitte in den Programmeinstellungen / Berechnungen diese Art der Berechnung festlegen:<br /><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" height="250" src="/wiki/download/attachments/36077581/Stopkurs-Einstellungen-Programmeinstellungen.png?version=1&modificationDate=1426435902 000&api=v2" data-image-src="/wiki/download/attachments/36077581/Stopkurs-Einstellungen-Programmeinstellungen.png?version=1&modificationDate= 1426435902000&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="36077580" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Stopkurs-Einstellungen-Programmeinstellungen.png" data-base-url="http://www.shareholder24.de/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="36077581" data-linked-resource-container-version="2"></span></li></ol> </div></div><h5 id="BreakEvenPoint-Berechnung-VerwandteArtikel">Verwandte Artikel</h5><p></p><p> <ul class="content-by-label"> <li> <div> <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Seite">Seite:</span> </div> <div class="details"> <a href="/wiki/display/SHARPUB/Break+Even+Point+-+Berechnung">Break Even Point Berechnung</a> </div> </li> </ul> </p> </div> </div> <div class="hidden rendered-page"></div> <div class="wiki-content"> <div class="pagetitle" id="Fehlerhafte Kursdatenanzeige für ein Titel"> <h3>Fehlerhafte Kursdatenanzeige für ein Titel</h3> <h5 id="FehlerhafteKursdatenanzeigefüreinTitel-Problem">Problem</h5><p>Ich habe z.B. bei einen Kauf von Baidu US0567521085 das Problem, dass mir ein Kurs von 2920,-€ angezeigt wird. Der tatsächliche Kurs sollte um die 170€ liegen. Das gleiche Problem habe ich auch mit Avago. Was kann hier die Ursache sein?</p><h5 id="FehlerhafteKursdatenanzeigefüreinTitel-Lösung">Lösung</h5><p>Nutzen Sie hierfür die Möglichkeiten der automatischen Prüfung der vorhandenen Kursaktualisierungs-Gruppen und der individuellen Währungseinstellung pro Titel.</p><div class="panel" style="background-color: #fff;border-width: 1px;"><div class="panelContent" style="background-color: #fff;"> <p>Hierzu in einer Marktliste (F8) den Titel suchen z.B. US0567521085 und mit Doppelklick auf den Titel die Einstellungen öffnen.</p><p>Dort den Reiter Kursaktualisierung wählen und Alle prüfen auswählen. Je nach Wunsch für € oder US$ Notierung die Aktualisierungsgruppe auswählen und über das Kontextmenü „Selektieren“.</p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image confluence-thumbnail" width="300" src="/wiki/download/thumbnails/33619997/image2014-9-11%2020%3A10%3A22.png?version=1&modificationDate=1410466457000&a pi=v2" data-image-src="/wiki/download/attachments/33619997/image2014-9-11%2020%3A10%3A22.png?version=1&modificationDate=14104664 57000&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="33783833" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="image2014-9-11 20:10:22.png" data-base-url="http://www.shareholder24.de/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="33619997" data-linked-resource-container-version="1"></span></p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image confluence-thumbnail" width="300" src="/wiki/download/thumbnails/33619997/image2014-9-11%2020%3A10%3A31.png?version=1&modificationDate=1410466457000&a pi=v2" data-image-src="/wiki/download/attachments/33619997/image2014-9-11%2020%3A10%3A31.png?version=1&modificationDate=14104664 57000&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="33783834" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="image2014-9-11 20:10:31.png" data-base-url="http://www.shareholder24.de/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="33619997" data-linked-resource-container-version="1"></span></p><p>Auf dem Hauptreiter je nach gewünschter Währung die Basiswährung selektieren:</p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image confluence-thumbnail" width="300" src="/wiki/download/thumbnails/33619997/image2014-9-11%2020%3A10%3A38.png?version=1&modificationDate=1410466457000&a pi=v2" data-image-src="/wiki/download/attachments/33619997/image2014-9-11%2020%3A10%3A38.png?version=1&modificationDate=14104664 57000&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="33783835" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="image2014-9-11 20:10:38.png" data-base-url="http://www.shareholder24.de/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="33619997" data-linked-resource-container-version="1"></span></p> </div></div><h5 id="FehlerhafteKursdatenanzeigefüreinTitel-VerwandteArtikel">Verwandte Artikel</h5><p></p><p> <ul class="content-by-label"> <li> <div> <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Seite">Seite:</span> </div> <div class="details"> <a href="/wiki/pages/viewpage.action?pageId=1703940">Tai-Pan® X</a> </div> </li> <li> <div> <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Seite">Seite:</span> </div> <div class="details"> <a href="/wiki/pages/viewpage.action?pageId=33619997">Fehlerhafte Kursdatenanzeige für ein Titel</a> </div> </li> <li> <div> <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Seite">Seite:</span> </div> <div class="details"> <a href="/wiki/display/SHARPUB/Unterschiede+Profi-+und+Standardversion">Unterschiede Profi- und Standardversion</a> </div> </li> <li> <div> <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Seite">Seite:</span> </div> <div class="details"> <a href="/wiki/display/SHARPUB/Kursaktualisierung">Kursaktualisierung</a> </div> </li> <li> <div> <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Seite">Seite:</span> </div> <div class="details"> <a href="/wiki/display/SHARPUB/Stammdaten">Stammdaten</a> </div> </li> </ul> <div> <a class="search-pages-by-label-link" href="http://www.shareholder24.de/wiki/dosearchsite.action?where=SHARPUB&queryString=(labelText:Kursaktualisierung OR labelText:Titel OR labelText:Stammdaten OR labelText:US$) AND (type:page)"> 7 zugehörige Ergebnisse </a> </div> </p> </div> </div> <div class="hidden rendered-page"></div> <div class="wiki-content"> <div class="pagetitle" id="Marktdaten z.B.DAX, MDAX nicht mehr korrekt"> <h3>Marktdaten z.B.DAX, MDAX nicht mehr korrekt</h3> <h5 id="Marktdatenz.B.DAX,MDAXnichtmehrkorrekt-Problem">Problem</h5><p>Sie sehen beim Aufruf der Marktlisten eine nicht mehr jeweilige vollständige Liste z.B. für DAX und MDAX. Das Problem setzt sich eventl. in anderen Marktlisten ebenfalls fort.</p><h5 id="Marktdatenz.B.DAX,MDAXnichtmehrkorrekt-Lösung">Lösung</h5><p><span>Die Struktur der Marktdaten kann durch verschiedene Möglichkeiten wieder hergestellt werden. Grundsätzlich wird an den Einzelaktien eine Referenz zu eines oder mehreren Märkten gespeichert. Die Referenzen müssen dabei zu den Markt-IDs kompatibel sein d.h. die "Stammdaten.Aktien.R8.stm" muss kompatibel sein zu der "Stammdaten.Maerkte.stm".<span>Sie haben daher folgende (sinnvolle) Optionen:</span></span></p><div class="panel" style="background-color: #fff;border-width: 1px;"><div class="panelContent" style="background-color: #fff;"> <ol><li>Sie spielen eine Sicherung zurück und spielen dabei sowohl die Aktien-Stammdaten als auch die Marktdaten zurück. Da die Kursdaten hiervon unabhängig gespeichert werden, gehen Ihnen bei dieser Variante die Kursdaten nicht verloren. Dennoch sollten Sie gedanklich prüfen, ob Sie wesentliche Änderungen an den Stammdaten wie Neue Titel, Zuordnungen zu Kursaktualisierungen, Alle Fundamentaldatenänderungen vorgenommen haben. Diese gehen so verloren.</li><li>Wenn Sie Tai-Pan EOD-Abo besitzen können Sie sehr einfach die beiden Märkte über Hauptmenü / Aktualisieren / Tai-Pan – Katalogansicht die DAX/MDAX-Kataloge auswählen und mit Shareholder synchronisieren. Sie erhalten umgehend die korrekte Struktur zurück.<br /> <span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" width="500" src="/wiki/download/attachments/34734105/image2014-12-7%2011%3A27%3A22.png?version=1&modificationDate=1417951815000& api=v2" data-image-src="/wiki/download/attachments/34734105/image2014-12-7%2011%3A27%3A22.png?version=1&modificationDate=14179518 15000&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="34897933" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="image2014-12-7 11:27:22.png" data-base-url="http://www.shareholder24.de/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="34734105" data-linked-resource-container-version="1"></span><br />Eventl. können Sie auch die völlig unverbindliche und kostenlose Variante über <a href="https://www.lp-software.de/shareholder/" class="external-link">https://www.lp-software.de/shareholder/</a> ausprobieren<br /><br /></li><li>Sie können eine Marktstruktur auch wiederherstellen über Einstellungen / Märkte / Button „Marktliste importieren“. Ich habe den Export für DAX und MDAX einmal durchgeführt und die Ergebnisdateien angehängt. <br /><a href="/wiki/download/attachments/34734105/DAX-Titel-Marktstruktur.CSV?version=1&modificationDate=1417951815000&api=v2" data-linked-resource-id="34897936" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="DAX-Titel-Marktstruktur.CSV" data-nice-type="Excel Spreadsheet" data-linked-resource-content-type="application/vnd.ms-excel" data-linked-resource-container-id="34734105" data-linked-resource-container-version="1">DAX-Titel-Marktstruktur.CSV</a> und <a href="/wiki/download/attachments/34734105/MDAX-Titel-Marktstruktur.CSV?version=1&modificationDate=1417951815000&api=v2" data-linked-resource-id="34897937" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="MDAX-Titel-Marktstruktur.CSV" data-nice-type="Excel Spreadsheet" data-linked-resource-content-type="application/vnd.ms-excel" data-linked-resource-container-id="34734105" data-linked-resource-container-version="1">MDAX-Titel-Marktstruktur.CSV</a><br /><br />Diese jeweils für DAX und MDAX einzeln importieren mit „Marktliste-importieren“ in dem Einstellungsmenü / Märkte. Damit haben Sie praktisch nur die Marktzuordnungen wieder korrigiert.<br /><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" width="500" src="/wiki/download/attachments/34734105/image2014-12-7%2011%3A27%3A36.png?version=1&modificationDate=1417951815000& api=v2" data-image-src="/wiki/download/attachments/34734105/image2014-12-7%2011%3A27%3A36.png?version=1&modificationDate=14179518 15000&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="34897934" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="image2014-12-7 11:27:36.png" data-base-url="http://www.shareholder24.de/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="34734105" data-linked-resource-container-version="1"></span> </li><li>Sie können auch statt des Backups einfach die zugehörige Moduldatei neu wieder einspielen: <br />Bitte achten Sie hier unbedingt bei den Nachfragen darauf, was Sie zurückspielen wollen anhand der zu überschreibenen Dateien. Sie benötigen NUR die "Stammdaten.Aktien.R8.stm" und die "Stammdaten.Maerkte.stm". Sichern Sie vorsichtshalber Ihre Daten zuvor. Ihre Depotdaten werden in jedem Fall unberührt sein. Aber alle Konfigurationsanpassungen an Märkten, Trade-Einschätzungen, Programmeinstellungen etc. können so verloren gehen!<br /><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" width="500" src="/wiki/download/attachments/34734105/image2014-12-7%2011%3A27%3A49.png?version=1&modificationDate=1417951815000& api=v2" data-image-src="/wiki/download/attachments/34734105/image2014-12-7%2011%3A27%3A49.png?version=1&modificationDate=14179518 15000&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="34897935" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="image2014-12-7 11:27:49.png" data-base-url="http://www.shareholder24.de/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="34734105" data-linked-resource-container-version="1"></span> </li><li>Eine andere Variante ist eine Parallelinstallation der Demoversion. Dort Hilfe / Infos / Datenverzeichnis öffnen und die beiden relevanten Dateien auswählen und in das andere Datenverzeichnis überspielen. ACHTUNG: Achten Sie darauf, dass Sie nicht das gleiche Datenverzeichnis nutzen wie zuvor. Dies können Sie nur über die erweiterte Installationsvariante sicherstellen.</li></ol><p> </p> </div></div><h5 id="Marktdatenz.B.DAX,MDAXnichtmehrkorrekt-VerwandteArtikel">Verwandte Artikel</h5><p></p><p> <ul class="content-by-label"> <li> <div> <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Seite">Seite:</span> </div> <div class="details"> <a href="/wiki/display/SHARPUB/Marktdaten+z.B.DAX%2C+MDAX+nicht+mehr+korrekt">Marktdaten z.B.DAX, MDAX nicht mehr korrekt</a> </div> </li> </ul> </p> </div> </div> <div class="hidden rendered-page"></div> <div class="wiki-content"> <div class="pagetitle" id="Scheinbar fehlerhafte Depotsummen (absolut&relativ)"> <h3>Scheinbar fehlerhafte Depotsummen (absolut&relativ)</h3> <h5 id="ScheinbarfehlerhafteDepotsummen(absolut&relativ)-Problem">Problem</h5><p>Im Depot werden fehlerhafte Depotsummen angezeigt. Dies betrifft sowohl die absoluten als auch relativen Werte.</p><h5 id="ScheinbarfehlerhafteDepotsummen(absolut&relativ)-Lösung">Lösung</h5><p>Das Problem wird durch fehlerhafte Kursdaten der zugeordneten Währung eines Depottitels verursacht. Im häufigsten Fall betrifft dies die "Standardwährung Euro".</p><div class="panel" style="background-color: #fff;border-width: 1px;"><div class="panelContent" style="background-color: #fff;"> Führen Sie zur Behebung folgende Schritte durch:<br /><br /><ol><li>Blenden Sie die Währungs-Spalten in der Depotansicht ein, um relativ schnell zu erkennen, ob hier die Problemursache liegt. Die erreichen Sie über die Anzeige der Spaltenauswahl (r. Maustaste über die Spaltenköpfe).<br /><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="/wiki/download/attachments/31981572/image2014-6-5%2020%3A3%3A27.png?version=1&modificationDate=1401998621000&ap i=v2" data-image-src="/wiki/download/attachments/31981572/image2014-6-5%2020%3A3%3A27.png?version=1&modificationDate=1401998621 000&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="32178178" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="image2014-6-5 20:3:27.png" data-base-url="http://www.shareholder24.de/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="31981572" data-linked-resource-container-version="2"></span></li><li>Suchen Sie in der Marktliste (Shortcut F8) nach "Interne Standard Währung". Alternativ können Sie auch den "Devisen"-Reiter auswählen und dort den EUR-Titel suchen:<br /><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="/wiki/download/attachments/31981572/image2014-6-5%2020%3A5%3A34.png?version=1&modificationDate=1401998747000&ap i=v2" data-image-src="/wiki/download/attachments/31981572/image2014-6-5%2020%3A5%3A34.png?version=1&modificationDate=1401998747 000&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="32178179" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="image2014-6-5 20:5:34.png" data-base-url="http://www.shareholder24.de/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="31981572" data-linked-resource-container-version="2"></span></li><li>Gehen Sie in die Stammdaten des Titels mit Doppelklick und dort auf den Reiter Kursdaten / Button "Alles löschen". Damit wird für diesen Titel immer der Kurs 1 angenommen. Alternativ können Sie auch einen Eintrag mit Close=1 hinterlegen.</li><li>Danach sollte in der Depotansicht (eventl. Refresh mit F5) die korrekte Berechnung erscheinen.</li></ol> </div></div><h5 id="ScheinbarfehlerhafteDepotsummen(absolut&relativ)-VerwandteArtikel">Verwandte Artikel</h5><p></p><p> <ul class="content-by-label"> <li> <div> <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Seite">Seite:</span> </div> <div class="details"> <a href="/wiki/display/SHARPUB/Break+Even+Point+-+Berechnung">Break Even Point - Berechnung</a> </div> </li> <li> <div> <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Seite">Seite:</span> </div> <div class="details"> <a href="/wiki/pages/viewpage.action?pageId=35553286">( VWDSYMBOL ) lässt sich weder statisch noch dynamisch auflösen</a> </div> </li> <li> <div> <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Seite">Seite:</span> </div> <div class="details"> <a href="/wiki/display/SHARPUB/Marktdaten+z.B.DAX%2C+MDAX+nicht+mehr+korrekt">Marktdaten z.B.DAX, MDAX nicht mehr korrekt</a> </div> </li> <li> <div> <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Seite">Seite:</span> </div> <div class="details"> <a href="/wiki/pages/viewpage.action?pageId=33619997">Fehlerhafte Kursdatenanzeige für ein Titel</a> </div> </li> <li> <div> <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" title="Seite">Seite:</span> </div> <div class="details"> <a href="/wiki/pages/viewpage.action?pageId=31981572">Scheinbar fehlerhafte Depotsummen (absolut&relativ)</a> </div> </li> </ul> </p> </div> </div> </body> </html>