2010. augusztus 17., kedd

szabadság

jól megérdemelt szabadságomat töltöttem, de visszatérve folytatom a blogot. Visszaolvasva kicsit száraznak tűnik, ezért mást is tervezek. Például: a természeti katasztrófák és a tőzsde, könyvek de az alap marad a rendszerfejlesztés.

2010. július 22., csütörtök

Mérőszámok magyarázata

Net Risk Adjusted Return % - Net profit % divided by Exposure % azaz a nettó profit százalékos értékét elosztjuk a kitettség százalékos arányával. Az esetünkben 85,13% / 17,7% = 480,83%.
Mit is jelent ez a mérőszám?  A piacon töltött idő alatt mekkora profitra tettünk szert. Ha a kitettséget növeljük, de a profit marad a szám csökken és vica versa. Minél nagyobb az érték, annál jobb.

Annual Return % - Compounded Annual Return % (CAR)  Éves hozam.

Risk Adjusted Return % - Annual return % divided by Exposure % azaz az éves hozam osztva a kitettséggel. Minél nagyobb annál jobb.

Avg. Profit/Loss - (Profit of winners + Loss of losers)/(number of trades) azaz a profit+veszteség-tehát a nettó profit - osztva a tradek számával. Megkapjuk,hogy trade-inken mennyi volt az átlagos nyereség. Nyilván pozitívnak kell lennie és a nagyobb a jobb.

Avg. Profit/Loss % - '(% Profit of winners + % Loss of losers)/(number of trades) ugyanaz, mint az előző csak százalékosan adja meg a nyereséget.

Avg. Bars Held - sum of bars in trades / number of trades - átlagosan hány bar-ig (kereskedési nap) tartott egy trade. 

2010. július 8., csütörtök

Mérőszámok magyarázata

Exposure: kitettség. Ez a szám mutatja meg,hogy az idő hány százalékában voltunk pozícióban. Az ebben a bejegyzésben szereplő 17,7 %-os exposure tehát azt jelenti,hogy a vizsgált időszakban 2008.01.02-2010.04.23, ami 842 nap (kb 603 kereskedési nap) 143 napot voltunk kockázatban, a többi időszakban nem volt befektetésünk.

2010. július 6., kedd

Amibroker teszteredmények értékelése

Ezeket a mérőszámokat szolgáltatja az Amibroker a teszt eredményeként:

Exposure % - 'Market exposure of the trading system calculated on bar by bar basis. Sum of bar exposures divided by number of bars. Single bar exposure is the value of open positions divided by portfolio equity.
Net Risk Adjusted Return % - Net profit % divided by Exposure %
Annual Return % - Compounded Annual Return % (CAR) - this is
Risk Adjusted Return % - Annual return % divided by Exposure %
Avg. Profit/Loss - (Profit of winners + Loss of losers)/(number of trades)
Avg. Profit/Loss % - '(% Profit of winners + % Loss of losers)/(number of trades)
Avg. Bars Held - sum of bars in trades / number of trades
Max. trade drawdown - The largest peak to valley decline experienced in any single trade
Max. trade % drawdown - The largest peak to valley percentage decline experienced in any single trade
Max. system drawdown - The largest peak to valley decline experienced in portfolio equity
Max. system % drawdown - The largest peak to valley percentage decline experienced in portfolio equity

Recovery Factor - Net profit divided by Max. system drawdown

CAR/MaxDD - Compound Annual % Return divided by Max. system % drawdown
RAR/MaxDD - Risk Adjusted Return divided by Max. system % drawdown
Profit Factor - Profit of winners divided by loss of losers
Payoff Ratio - Ratio average win / average loss

Standard Error - Standard error measures chopiness of equity line. The lower the better.
Risk-Reward Ratio - Measure of the relation between the risk inherent in a trading the system compared to its potential gain. Higher is better. Calculated as slope of equity line (expected annual return) divided by its standard error.
Ulcer Index - Square root of sum of squared drawdowns divided by number of bars
Ulcer Performance Index - (Annual profit - Tresury notes profit)/Ulcer Index'>Ulcer Performance Index. Currently tresury notes profit is hardcoded at 5.4. In future version there will be user-setting for this.
 
Sharpe Ratio of trades - Measure of risk adjusted return of investment. Above 1.0 is good, more than 2.0 is very good. More information http://www.stanford.edu/~wfsharpe/art/sr/sr.htm . Calculation: first average percentage return and standard deviation of returns is calculated. Then these two figures are annualized by multipling them by ratio (NumberOfBarsPerYear)/(AvgNumberOfBarsPerTrade). Then the risk free rate of return is subtracted (currently hard-coded 5) from annualized average return and then divided by annualized standard deviation of returns.

K-Ratio - Detects inconsistency in returns. Should be 1.0 or more. The higher K ratio is the more consistent return you may expect from the system. Linear regression slope of equity line multiplied by square root of sum of squared deviations of bar number divided by standard error of equity line multiplied by square root of number of bars. More information: Stocks & Commodities V14:3 (115-118): Measuring System Performance by Lars N. Kestner

A következő bejegyzésben kifejtem azokat, amiket fontosnak tartok. (na meg amit értek...)

Az ötlet

Az eddig tesztelt ötletet az Aranyláz blogon találtam. Ezt a blogot amúgy is nagyon érdemes olvasni; visszamenőleg is! Az ötlet:
"
A fenti setup / chart lényeges jellemzői :
- a visszaesés (gap down) forgalma legalább 10 napos minimum
- az ár a napokban 70 napos maximumot ütött
- gapdown, de rsi(3) nagyobb mint 20.
Az utóbbi feltétel variálható. Ha nincs gap down, akkor rsi(3) < 20 is jó feltételnek, de 10-nél kisebb rsi már nem annyira.
A fentiekből látható, hogy a setup logikája valahogy így szól : szépen emelkedő részvény, kis forgalmú, heves, egy-két napos esése megvehető. Több napos esés, főleg gap down-nal kombinálva már nem ideális (de még nyerő lehet az is).
Ez a stratégia az elmúlt években,  5 napos időtávon, 60% nettó hozamot, 1.8 körüli profit faktort és néha csúnya drawdownt-t nyújtott felfedezőinek. Kedveli a bika piacot, ott egy fokkal jobban muzsikál. Egyébként nyereséges volt 10-20 napos időtávon is, csak rosszabb paraméterekkel.
"
/idézet a blogról /

Ezt a feltételrendszert próbáltam lekódolni, majd a blog készítőjének segítségével sikerült is. Későbbegy plusz feltétellel is kiegészítettem amely az emelkedő trend erősségét is vizsgálja (ADX). Ennek a vége lett egy egész jó eredményeket hozó ötlet, amit talán érdemes még tovább rendszerré csiszolni.


2010. július 5., hétfő

Tesztelés

A tesztelés a tőzsdei kereskedési rendszer fejlesztésének igen fontos része. Ha már túl vagy azon,hogy kitaláltad milyen típusú rendszert keresel, meg van az ötlet, elkészült a kód, akkor mielőtt elkezd az ember élesben kereskedni a rendszere által adott jelekkel érdemes - több, mint érdemes - tesztelni. A tesztelésről általánosságban később tervezek írni, most egy konkrét eset tanulságait próbálom levonni.
Az Amibroker egyik nagy előnye,hogy van beépített backtest funkciója aminek segítségével szimulálni tudjuk, hogy milyen eredménnyel működne a ötletünk, rendszerünk.

Elvégeztem egy tesztet, ami az alábbi eredményeket hozta:

A képre kattintva nagyobb méretben is megtekinthető a statisztika. A lényegesebb elemek:
85 % netto profit, 65% nyerő trade-k aránya, profit factor 4.94, max sys. drawdown -12,87 %. Nem is olyan rossz.

Módosítottam a backtest beállításain, mégpedig azt,hogy egyszerre több trade is futhasson párhuzamosan (azaz ne fektesse be egyszerre a teljes összeget).
Ezután az alábbi eredményt kaptam:


Mit látunk? A profitunk jóval kevesebb 32%, profit factor 2,52, a sys. drawndown hasonló, a nyerő/vesztő arány hasonló.

Nem értettem. Mi történt? Miért lett jóval kevesebb a profitom? Miért csökkent a profitom? Mégse olyan jó a rendszer ötlet , mint elsőre hittem? Ekkor elmentem aludni..

Nem hagyott nyugodni a dolog és másnap elkezdtem jobban megnézni a statisztikát. Mit hagyhattam figyelmen kívül. Eljutottam addig a részig,ahol a nyerő trade-k százalékos arányát látom és utána a konkrét összeget:
15 trade --> 65 % --> 10.000 $
31 trade --> 62 % --> 5300 $

itt lehet a kutya elásva gondoltam magamban és itt is volt. Hiszen második alkalommal negyed akkora összeget fektettem be és dupla annyi kötésből, fele annyi abszolút nyereség . A rendszer ötlet ugyanazokat az értékeket produkálta, ugyanolyan "jó". A jó azért van idézőjelben, mert ez nem objektív fogalom.

Tanulság:

Ne hasonlítsunk almát a körtével, mert könnyen citrom lesz belőle.

A következő bejegyzésben az ötletről fogok írni. Utána meg a tesztelésről általánosságban.

2010. július 1., csütörtök

Mi a cél?

Mi a célja a blognak?

Az,hogy az önmagamban fellépő kétségeket megosszam és ezekről vita alakuljon ki.

Milyen kétségeim vannak?

Természetesen sokfélék :) de itt csak a tőzsdei kereskedéssel, kereskedési rendszer fejlesztésével és tőzsdével kapcsolatosakat osztanám meg.

Miként jött az ötlet?


Egy ötletet /verseny 2-ik forduló/ kezdetem kidolgozni Amibroker-ben és közben rengeteg kétség, kérdés merült fel bennem. Ezek egy részét megvitattam az "ötletgazdával", de sokszor csak az is segít, ha az ember kiírja magából, mert ez is segíti az analízist.

Milyen gyakran fog frissülni a blog?

Amennyire a normál munkám és a kisfiam engedi. Igyekszem legalább heti kettő bejegyzést megejteni