Dopo una pausa estiva riprendiamo gli articoli della categoria “trading system” dedicati all’approfondimento di tecniche di trading corredate da statistiche di funzionamento e listati. Non abbiamo finora trattato tecniche di “Swing trading” e colmiamo la lacuna con un listato preso da Omega Research basato sul Price Oscillator cui è stato aggiunto un filtro basato sulla regressione lineare. Nel caso long la regressione lineare a 19 periodi deve essere maggiore di quella calcolata a 20 e viceversa nel caso short. Le ulteriori condizioni per andare long (il caso short è simmetrico) sono:
- il Price Oscillator deve essere negativo;
- il prezzo di chiusura deve essere maggiore della media mobile a 50 periodi;
- Il Price Oscillator sull’ultima candela deve essere maggiore rispetto alla candela precedente.

Curva dei profitti di portafoglio “Detailed” dal 1997 in avanti sull’azionario Ftsemib con curva underwater del drawdown.
Tutti gli ingressi sono at market.
Il test è stato condotto su candele daily di tutte le azioni del Ftsemib40 (nell’immagine di copertina test e segnali sul titolo Unipol).
L’esito è sintetizzato dala curva dei profitti che vedete.
Le buone notizie sono date da una curva dei profitti che negli hanno ha un andamento crescente e da un profit factor > 1,25, che diventa addirittura > 2 nel caso long con un discreto Sharpe ratio.
Le notizie negative sono date dal fatto che dal 2008 in avanti questa strategia fa una patta (e non sono conteggiate le commissioni che anche se hanno un piccolo impatto sul daily, un valore ce l’hanno); inoltre la parte short perde soldi nonostante una borsa italiana che in 20 anni, a differenza di altre borse, è scesa.
Tuttavia quello che facciamo è prendere strategie note e osservare se, con qualche piccola modifica guadagnano o perdono e se hanno del potenziale per ricavarci qualcosa di profittevole. In questo caso la base di partenza non è perdente, ci sono anche ampie zone di miglioramento (manca un money management ad esempio) ma è indubbio che ci siano codici didattici mostrati in altre occasioni che costituiscono una base di partenza già più alta di così.
Portfolio Performance Summary | |||
All Trades | Long Trades | Short Trades | |
Net Profit | 262358,06 | 362080,06 | -99722 |
Gross Profit | 1140843,43 | 716603,13 | 424240,3 |
Gross Loss | -878485,37 | -354523,07 | -523962,3 |
Account Size Required | 370782,86 | 219064,38 | 311592,63 |
Return on Account | 70,7578716 | 165,2847715 | -32,0039662 |
Return on Initial Capital | 87,45268667 | 120,6933533 | -33,24066667 |
Profit Factor | 1,298648184 | 2,021315933 | -0,809677147 |
Slippage Paid | 0 | 0 | 0 |
Commission Paid | 0 | 0 | 0 |
Open Net Profit | 30608,7 | 7255,18 | 23353,52 |
Select Net Profit | 270558,38 | ||
Adjusted Net Profit | 184983,4311 | ||
Max Portfolio Drawdown | -74538,19 | ||
Max Portfolio Drawdown (%) | -13,55761656 | ||
Max Portfolio Close To Close Drawdown | -45368,21 | ||
Max Portfolio Close To Close Drawdown (%) | -7,668490888 | ||
Return on Max Portfolio Drawdown | 3,519780397 | ||
Portfolio Performance Ratios | |||
Upside Potential Ratio | 69,90554403 | ||
Sharpe Ratio | 0,072984355 | ||
Sortino Ratio | 0,151384731 | ||
Fouse Ratio | 0,002789345 | ||
Calmar Ratio | 0,012382022 | ||
Sterling Ratio | 0,001979036 | ||
Portfolio Net Profit as % of Largest loss | 1169,52673 | ||
Portfolio Net Profit as % of Max Trade Drawdown | 1053,972755 | ||
Portfolio Net Profit as % of Max Portfolio Drawdown | 351,9780397 | ||
Select Net Profit as % of Largest loss | 1206,081709 | ||
Select Net Profit as % of Max Trade Drawdown | 1086,915954 | ||
Select Net Profit as % of Max Strategy Drawdown | 362,9795411 | ||
Adj Net Profit as % of Largest loss | 824,6099517 | ||
Adj Net Profit as % of Max Trade Drawdown | 743,1351506 | ||
Adj Net Profit as % of Max Strategy Drawdown | 248,1726898 | ||
Portfolio Time Analysis | |||
Trading Period | 19 Yrs, 10 Mths, 14 Dys | ||
Time in the Market | 19 Yrs, 9 Mths, 29 Dys | ||
Percent in the Market | 99,79264584 | ||
Longest flat period | |||
Max Run-up Date | 16/04/2015 | ||
Max Portfolio Drawdown Date | 27/11/2009 | ||
Max Close To Close Drawdown Date | 19/07/2012 |
{********************************************************************************
This Signal is provided as part of the Omega Research System Trading and
Development Club. For information on the club and other Omega Research
educational services, please call 800-422-8587 or 305-551-9991.
*********************************************************************************}
Inputs: FastLength(4), SlowLength(17), AvgLength(50), Nbars(3), FastLength2(5), SlowLength2(20), AvgLength2(50);
Variables: PriceOsc(0), PriceOscAgo(0), AvgFilter(0), PriceOsc2(0), PriceOscAgo2(0), AvgFilter2(0);
{Variables are defined}
PriceOsc = PriceOscillator(Close, FastLength, SlowLength);
PriceOscAgo = PriceOsc[1];
AvgFilter = Average(Close, AvgLength);
PriceOsc2 = PriceOscillator(Close, FastLength2, SlowLength2);
PriceOscAgo2 = PriceOsc2[1];
AvgFilter2 = Average(Close, AvgLength2);
{Long Entry}
If PriceOsc > PriceOscAgo AND PriceOsc < 0 AND Close > AvgFilter and Linearregvaluefc(C, 19, 0) > Linearregvaluefc(C, 20, 0) Then
Buy Next Bar at Market;
{Short Entry}
If PriceOsc < PriceOscAgo AND PriceOsc > 0 AND Close < AvgFilter and Linearregvaluefc(C, 19, 0) < Linearregvaluefc(C, 20, 0) Then
sell Next Bar at Market;
{Long Exit}
{If MarketPosition = 1 Then Begin
If PriceOsc < PriceOscAgo Then
sell Next Bar at Lowest(Low, NBars) Stop;
End;
{Short Exit}
If MarketPosition = -1 Then Begin
If PriceOsc > PriceOscAgo Then
buytocover Next Bar at Highest(High, NBars) Stop;
End;}
Ci sono 7 input dichiarati +i 2 della regressione lineare , non sono un po’ troppi? Se la parte short perde denaro si puo’ evitare ?
gli input non sono mai troppi se non vengono overfittati. Sta a noi scegliere quali utilizzare, quali ottimizzare e facendo attenzione all’overfitting. Se una strategia perde soldi lato short anche dopo averci messo le mani io eviterei di tradarla in short…