We wpisie sprzed kilku miesi臋cy sprawdzi艂em wp艂yw szeroko艣ci rynku na prawdopodobie艅stwo kontynuacji hossy. W du偶ym skr贸cie: je艣li wi臋kszo艣膰 akcji jest w trendzie rosn膮cym, to trzymamy WIG. Je艣li nie, wychodzimy z "pozycji" (w cudzys艂owie, bo WIG-u nie da si臋 kupi膰; bardziej chodzi o prognoz臋, czy hossa b臋dzie trwa艂a). Dla u艂atwienia, tutaj jeszcze raz wykres:
Test jest bardzo prosty - mierzymy szeroko艣膰 rynku tylko na podstawie ilo艣ci akcji, bez wzgl臋du na wolumen, wag臋 w indeksie czy cokolwiek innego. To oznacza, 偶e ka偶da akcja ma tak膮 sam膮 wag臋.
Ciekawo艣膰 kaza艂a mi sprawdzi膰, co by si臋 sta艂o, gdyby艣my mierzyli szeroko艣膰 rynku z uwzgl臋dnieniem wolumenu. 艁atwiej to wyja艣ni膰 kodem. Zamieniamy:
double minMaxNow = minMax.calculate(marketData);
if (minMaxNow > 0) {
ups++;
}
if (minMaxNow < 0) {
downs++;
}
na:
double minMaxNow = minMax.calculate(marketData);
if (minMaxNow > 0) {
ups += marketData.getData(TURNOVER, 0);
}
if (minMaxNow < 0) {
downs += marketData.getData(TURNOVER, 0);
}
Czyli zamiast zwi臋ksza膰 zmienne o jeden (operator "++" przy ups i downs), dodajemy obroty (operator "+= getData(TURNOVER, 0))". Potem por贸wnujemy 'ups' i 'downs' tak samo jak wcze艣niej.
Ku mojemu zaskoczeniu, wykres wygl膮da tak:
Taki wska藕nik ci膮gle daje minimaln膮 przewag臋 (w szczeg贸lno艣ci pomaga omin膮膰 kilka g艂臋bokich bess), ale ju偶 nie tak du偶膮. Wygl膮da wi臋c na to, 偶e w tym przypadku wolumen nie ma znaczenia. Wydaje si臋, 偶e dla prognozowania wi臋ksz膮 warto艣膰 ma to, czy jest zainteresowanie ma艂ymi sp贸艂kami. Kolejny szczeg贸艂: gdy bierzemy pod uwag臋 obroty, to dostajemy du偶o wi臋cej "transakcji" (197 zamiast 23, gdy ka偶da sp贸艂ka ma tak膮 sam膮 wag臋).
Do sprawdzenia pozostaje, dlaczego tak si臋 dzieje i jak to wykorzysta膰. Je艣li macie jakie艣 pomys艂y, dajcie zna膰 na Twitter / X.
Kod 藕r贸d艂owy u偶yty do test贸w znajduje si臋 tutaj.
Nast臋pny wpis
Pytania lub uwagi? Twitter / X: 艁ukasz
Wojt贸w
Software do testowania rynk贸w finansowych: Alis