PARTNER SERWISU
hngnuuhr

Testowanie strategii inwestycyjnych

kubanvip
0
Dołączył: 2012-03-22
Wpisów: 50
Wysłane: 18 września 2012 19:23:09
Witam wszystkich

Czy testowaliście kiedyś strategie inwestycyjne za pomocą oprogramowania ?
Czy jakieś w prosty sposób to umożliwia ?

Przykładowo wyznaczam sobie proste zasady:
1. Jeżeli C/Z Wig20 spadła poniżej 10, kupuję akcje wchodzące w skład indeksu.
2. Jeżeli C/Z Wig20 wzrosła powyżej 20, sprzedaję wszystkie akcje.
Szukam odpowiedzi: jak na tym bym wyszedł w ciągu ostatnich 10 lat.

Zwykle takie rzeczy sprawdzałem pisząc krótkie skrypty, ale pomyślałem, że fajnie było by napisać w miarę elastyczne oprogramowanie, które po zasileniu danymi mogło by symulować dowolną strategię.

Wstępnie zrobiłem coś takiego:


kliknij, aby powiększyć


Po lewej stronie są zaimportowane dane.
Na dole jest symulowana strategia. W tym konkretnym przypadku mówię: kup akcje KGHM gdy ich c/wk spadnie poniżej 0.8; sprzedaj gdy wzrośnie powyżej 2.
(Strategia to po prostu skrypt Python'a. W praktyce można dowolnie skomplikowane warunki sprawdzać, zakładać stop lossy, wyliczać w locie wskaźniki itd.)

Klikam strzałkę by rozpocząć symulację i otrzymuję wyniki analizy (prawy górny panel).

Jak oceniacie przydatność takiego oprogramowania ?
Chciałbym program dopracować i wystawić jako open source.
Jeżeli interesowało by Was przetestowanie pewnych strategii, to o co chcielibyście taki symulator zapytać i w jakiej formie uzyskać odpowiedź ?

Pozdrawiam
Kuba

Zielarz
0
Dołączył: 2009-05-16
Wpisów: 457
Wysłane: 18 września 2012 19:47:11
Powodzenia. Trzymam kciuki thumbright
A teraz prowokacyjne pytanie retoryczne - proponuje - postaw je sobie sam i sam odpowiedz.
Co Cie bardziej interesuje. pisania oprogramowania czy granie na gieldzie ?
A przydala by mi sie jakas ... wielowymiarowa wizualizacja portfela. puke_l
Oby nigdy więcej drzewa nie przysłoniły mi lasu ...
It’s just money. It’s made up.
Edytowany: 18 września 2012 19:48

kubanvip
0
Dołączył: 2012-03-22
Wpisów: 50
Wysłane: 18 września 2012 20:42:48
Dzięki, przyda się :)
Co do pytania to już kiedyś się nad tym zastanawiałem, nawet myślałem czy nie zmienić studiów informatycznych na ekonomiczne. Teraz nie traktuje tego w kategorii jedno lub drugie.


DarkestLie
0
Dołączył: 2009-09-21
Wpisów: 241
Wysłane: 18 września 2012 21:54:12
Lyzka dziegciu, ja nie widze sensu w rozwijaniu tego typu sofcikow, to samo (i wiele wiele wiecej) zrobisz w kazdym profesjonalym programie do AT (zakladam ze korzystasz z gotowych danych)
You're not deep, you're not an intellectual, you're not an artist, you're not a critic, you're not a poet, you just have internet access.

kubanvip
0
Dołączył: 2012-03-22
Wpisów: 50
Wysłane: 18 września 2012 22:55:56
@DarkestLie
Jestem świadom że nie pobiję mnogości funkcjonalności profesjonalnych programów.
Co do danych to opcja wczytywania z plików + ściągania z wybranych serwisów (obecnie napisałem wczytywanie bezpośrednio ze Stooq, ale można dopisywać wtyczki pobierające z jakichkolwiek źródeł).

Program na początku tworzyłem tylko dla siebie. Później pomyślałem, że trochę go dopracuję i będę miał w portfolio. Dobrze by było, gdyby więcej osób mogło z tego skorzystać. Po to założyłem ten temat.

kubanvip
0
Dołączył: 2012-03-22
Wpisów: 50
Wysłane: 20 września 2012 00:31:49
Przyjrzałem się dziś AmiBroker i MetaStock. Po pobieżnej analizie poradników i filmów instruktażowych widzę, że podchodzę do sprawy z innego punktu i staram się osiągnąć inne cele.

Z tego co zaobserwowałem wymieniony soft skupia się na budowaniu / testowaniu strategii dla automatycznych systemów. Wyzwalaczami transakcji są wskaźniki liczone bezpośrednio z walorów na których dokonywane są transakcje.

Mi z kolei zależy na daniu użytkownikowi narzędzia do symulacji strategii zarządzania portfelem inwestycyjnym.
Przykładowo użytkownika interesuje: fundusz naśladujący Wig20, obligacje, fundusze nieruchomości, fundusze złota. W podejmowaniu decyzji chce brać pod uwagę niektóre wskaźniki marko.
Wszystkie te dane ładuje do mojego programu i poprzez kolejne symulacje szuka najbardziej optymalnej strategii zmian ekspozycji.
Edytowany: 20 września 2012 00:33

DarkestLie
0
Dołączył: 2009-09-21
Wpisów: 241
Wysłane: 20 września 2012 08:07:26
Podtrzymuje co napisalem, zamiast pobieznie ogladac filmiki, przejrzyj funkcje dostepne w Ami
www.amibroker.com/guide/afl/af...

caly czas rozumiem ze chcesz podyskutowac a nie probujesz tu czegos sprzedawac angry3
You're not deep, you're not an intellectual, you're not an artist, you're not a critic, you're not a poet, you just have internet access.

kubanvip
0
Dołączył: 2012-03-22
Wpisów: 50
Wysłane: 20 września 2012 09:23:30
Dobrze rozumiesz. Jak pisałem w pierwszym poście to będzie open source.

Dzięki za linka. Poczytam dokładne opisy funkcji.
Widzę że udostępniają użytkownikowi języki skryptowe JScript i VBScript.
Domyślam się że korzystasz z któregoś z dostępnych programów ?

kubanvip
0
Dołączył: 2012-03-22
Wpisów: 50
Wysłane: 26 października 2012 21:45:40
Zakończyłem etap pisania logiki biznesowej.

Utworzyłem projekt w serwisie hostującym open source:
https://github.com/nabuk/IstLight

Jeszcze wersji w formie programu dla użytkownika nie ma (są jedynie biblioteki).

Co będzie obsługiwane:
- import/export danych z/do CSV
- możliwość konwersji danych rentowności obligacji na syntetyczny poziom cen (tak aby można było symulować inwestowania w obligacje jako proces ciągły)
- symulacja strategii inwestycyjnej napisanej w języku Python

Możliwości konfiguracji symulacji:
- roczna stopa inflacji
- roczna stopa procentowa
- symulacja prowizji: procentowa / stała na jednostkę / stała na transakcję
- wybór które wartości z wykresu będą użyte do cen transakcji (Open/Close/High/Low/Open-Close middle/High-Low middle)
- opóźnienia dla transakcji
- automatyczne zamknięcie wszystkich otwartych pozycji na koniec symulacji
- początkowa wartość portfela
- ustawianie zakresu dat symulacji lub wartość wspólna zakresów wszystkich załadowanych tickerów

Raportowanie wyników:
- temat szeroki. Generalnie będzie opcja pisania własnych wskaźników. Od siebie dam rentowność i wariancję, ale nie będzie problemu by ktoś sobie mógł dopisać np. współczynnik Sharpe’a.

Czego nie będzie można zasymulować (przynajmniej do pierwszej wersji):
- gry na instrumentach oferujących dźwignię (można załadować ich dane, ale będą traktowane jakby tej dźwigni nie było)
- krótkiej sprzedaży
- transakcji opcyjnych
- kredytu maklerskiego

Projekt jest typu open source. Jeżeli ktoś byłby zainteresowany jego rozwojem proszę o kontakt.

Pozdrawiam
Kuba

rottor
0
Dołączył: 2011-05-17
Wpisów: 141
Wysłane: 27 października 2012 12:21:39
kubanvip napisał(a):

Mi z kolei zależy na daniu użytkownikowi narzędzia do symulacji strategii zarządzania portfelem inwestycyjnym.


w Amibrokerze mozna testowac strategie portfelowe
jest tez wiele innych programow zorientowanych typowo na portfolio backtesting

ale czuje ze projekt jest raczej kierowany checia samodzielnego stworzenia czegos ciekawego :) ... zycze powodzenia


kubanvip
0
Dołączył: 2012-03-22
Wpisów: 50
Wysłane: 5 grudnia 2012 23:46:47
Witam

Zrobiłem :)
Poniżej krótka prezentacja symulacji prostej strategii:



Oprogramowanie jest dostępne jako open source na licencji GPLv3.
Z zapowiedzianych we wcześniejszym poście obsługiwanych funkcjonalności 2 odłożyłem do następnej wersji:
- możliwość konwersji danych rentowności obligacji na syntetyczny poziom cen (tak aby można było symulować inwestowania w obligacje jako proces ciągły)
- import/export danych z/do CSV (póki co bezpośredni import z yahoo i stooq; swoją drogą zauważyłem, że stooq daje kilkudniowego bana gdy się dosyć intensywnie korzysta z ich danych)

Centrum informacji
github.com/nabuk/IstLight#read...

Instrukcja
Jeszcze w trakcie pisania, choć najważniejsza moim zdaniem część, czyli opis dostępnych funkcji z poziomu skryptu strategii, jest już zrobiona: github.com/nabuk/IstLight/wiki...:-Base-functions

Download
github.com/nabuk/IstLight/down...
sekcja "Download Packages"


Pozdrawiam
Kuba

coms
0
Dołączył: 2011-07-28
Wpisów: 22
Wysłane: 8 lutego 2013 17:05:50
Hej,

Podepne sie pod watek bo temat jest blisko mojego pytania.

Jestem zainteresowany programami do backtestingu i chcialbym poprosic o porade w wyborze takiego, gdzie jest w miare intuicyjna metoda definiowania zasad wejscia i wyjscia. Chodzi mi o to zebym nie musial poswiecac wiele czasu na nauke skladni (bo domyslam sie ze definiowanie regul przypomina proste programowanie, tak?). Prosze doswiadczonych w temacie o opisanie pod tym katem najpopularniejszych programow. Prosze rowniez autora watku o opis jak to wyglada w jego programie :).

Pozdrawiam :)

Wybaczcie brak polskich znakow. Pisze z telefonu...;)

kubanvip
0
Dołączył: 2012-03-22
Wpisów: 50
Wysłane: 8 lutego 2013 17:21:22
Cześć

W moim programie proces wygląda tak:
Ładujesz zestaw tickerów które strategia będzie chciała kupować lub tylko podejmować decyzje w odniesieniu do ich poziomów (np. PMI).

Po określeniu przedziału czasowego w jakim będzie symulowana strategia i innych opcji co określony interwał czasu ewaluowana jest strategia (zdefiniowana w języku Python, a właściwie IronPython - implementacja Pythona dla platformy .NET).

Z mojej strony udostępniam następujące funkcje do zarządzania portfelem:
lista funkcji

Reszta to już konkretna strategia w postaci skryptu.

Jeżeli będziesz miał pytania na temat konkretnej symulacji napisz na priv.

Przytoczę jeszcze cze mój soft nie obsługuje:

- symulacji instrumentów oferujących dźwignię (można załadować ich dane, ale będą traktowane jakby tej dźwigni nie było)
- krótkiej sprzedaży
- transakcji opcyjnych
- kredytu maklerskiego
Program również niespecjalnie nadaje się do porównywania jak radzi sobie strategia na różnych instrumentach. Czyli np. masz strategię gry na akcjach spółki i chcesz ją przetestować dla wszystkich spółek GPW lub NASDAQ. Takie testowanie będzie niepraktyczne, bo będziesz uruchamiał każdą symulację ręcznie. Pisałem raczej program z myślą o strategiach które dokonują zmian ekspozycji na zbiorze walorów. Ostatnio testowałem nim tak uproszczoną strategię Grahama.

W styczniu dopisałem możliwość eksportu wyników symulacji do Excela.

Pozdrawiam
Kuba
Edytowany: 8 lutego 2013 17:34

coms
0
Dołączył: 2011-07-28
Wpisów: 22
Wysłane: 8 lutego 2013 17:35:27
To troche cienko bo ja mysle o testowaniu kontraktow terminowych...

A jak to wyglada np. w amibrokerze?

Dapi
PREMIUM
0
Dołączył: 2008-10-07
Wpisów: 993
Wysłane: 8 lutego 2013 18:09:56
Amibroker posiada taka funkcję a czy jest to skomplikowana składnia musisz sam ocenić. Dla programisty C składnia jest banalna

www.amibroker.com/guide/tutori...
Rynki mogą pozostać irracjonalne dłużej niż ty możesz pozostać wypłacalny.

Rozbudowane wykresy: http://www.atcharts.pl
Centrum analizy technicznej: http://www.attrader.pl
Edytowany: 8 lutego 2013 18:11

DarkestLie
0
Dołączył: 2009-09-21
Wpisów: 241
Wysłane: 8 lutego 2013 18:28:27
Amibroker, MultiCharts, TradeStation, MetaStock (przez sentyment)... kolejnosc ma znaczenie
w sieci mnostwo analizy ilosciowej dziobane jest teraz w R albo Matlabie
You're not deep, you're not an intellectual, you're not an artist, you're not a critic, you're not a poet, you just have internet access.

Użytkownicy przeglądający ten wątek Gość



Na silniku Yet Another Forum.net wer. 1.9.1.8 (NET v2.0) - 2008-03-29
Copyright © 2003-2008 Yet Another Forum.net. All rights reserved.
Czas generowania strony: 0,548 sek.

zgufudmu
fmvcifos
jpyhidsh
Portfel StockWatch
Data startu Różnica Wartość
Portfel 4 fazy rynku
01-01-2017 +75 454,67 zł +377,27% 95 454,67 zł
Portfel Dywidendowy
03-04-2020 +60 637,62 zł 254,44% 125 556,00 zł
Portfel ETF
01-12-2023 +4 212,35 zł 20,98% 24 333,09 zł
ltsodgqm
yordhyby
cookie-monstah

Serwis wykorzystuje ciasteczka w celu ułatwienia korzystania i realizacji niektórych funkcjonalności takich jak automatyczne logowanie powracającego użytkownika czy odbieranie statystycznych o oglądalności. Użytkownik może wyłączyć w swojej przeglądarce internetowej opcję przyjmowania ciasteczek, lub dostosować ich ustawienia.

Dostosuj   Ukryj komunikat