STRATEGIA DI TRADING
Proviamo ad applicare una strategia di trading utilizzando le previsioni, ad un passo, sui
prezzi di chiusura del titolo MICROSOFT (con dati giornalieri dal 30/08/2010 al
30/08/2019) attraverso un modello AR(1); ipotizziamo, inoltre, di aprire la posizione al
prezzo di apertura e di chiuderla entro fine giornata.
Quello che ovviamente ci si aspetta di trovare è che la strategia non sia profittevole in
quanto, per la teoria dei mercati efficienti, in ogni istante il prezzo riflette le informazioni
disponibili sul mercato e, quindi, non è possibile prevedere i rendimenti futuri con le
informazioni disponibili oggi.
Carichiamo i dati in MATLAB:
T=readtable('MSFT20102019.csv');
plot(T.Date,T.Close)%plottiamo le chiusure giornaliere e sull'asse delle %ascisse mettiamo le date
grid on; grid minor;
legend('Prezzi Chiusure')
title('Chiusure giornaliere MICROSOFT')
Figura 4.1
119
Calcoliamo i rendimenti:
Num=length(T.Date);%lunghezza dei dati Open=T.Open(1:Num);
Rclose=zeros(Num,1);
for i=2:(Num)
Rclose(i)=(log(T.Close(i))-log(T.Close(i-1)));%rendimenti logaritmici
end
r=Rclose(1:Num-30); );%dati insample Md1=arima(1,0,0);
EstMd1=estimate(Md1,r); % stima ar(1)
Figura 4.2 Modello AR(1)
I parametri, compresa la costante, risultano significativamente diversi da 0 (considerando
un livello di significatività del 5%).
Andiamo a fare una previsione a un passo considerando il previsore ottimale che è quello
che minimizza il MSE: il valore atteso condizionato (come avevamo già discusso nel
capitolo 2): ar=EstMd1.AR{1}; constant=EstMd1.Constant; R=Rclose((Num-29):(Num)); y=zeros(30,1); y(1)=constant+ar*Rclose(Num-30); %previsione for h=1:29
y(h+1)=constant+ar*Rclose(h);%rendimenti previsti per 30 giorni
120
Adesso andiamo a plottare i rendimenti effettivi e quelli previsti; successivamente ci
calcoliamo le previsioni sui prezzi di chiusura ricorrendo all’esponenziale (in quanto
abbiamo utilizzato il logaritmo per i rendimenti); Prendiamo anche in considerazione i
prezzi di apertura per il periodo che ci serve per fare trading ovvero 30 giorni:
figure
plot(T.Date((Num-29):(Num)),R,'r');%rendimenti hold on;
plot(T.Date((Num-29):(Num)),y,'k');%rendimenti previsti legend('rendimenti','rendimenti previsti ar(1)'); grid on;
grid minor;
title('Rendimenti e Rendimenti previsti') axis tight
Figura 4.3
Rendimenti e rendimenti previsti
Price=zeros(30,1);
Close=T.Close((Num-29):(Num));%si prendono i prezzi di chiusura in un certo intervallo
PrOpen=T.Open((Num-29):(Num));%prezzi di apertura in un certo intervallo Price(1)=T.Close(Num-30)*exp(y(1));%prezzo di chiusura previsto
Date=T.Date((Num-29):(Num));
for k=2:30
Price(k)=Close(k-1)*exp(y(k));%prezzi di chiusura previsti
121 end
%plottaggio prezzi di chiusura, prezzi di apertura e prezzi di chiusura %previsti
figure
plot(Date,PrOpen,'b-');%prezzi di apertura hold on;
plot(Date,Price,'k');%prezzi di chiusura previsti plot(Date,Close,'r');%prezzi di chiusura
legend('Open','Forecast ar(1)','Close','Location','Best'); grid on;
grid minor;
title('Prezzi di apertura, di chiusura e prezzi previsti') axis tight
Figura 4.4
Prezzi del titolo MICROSOFT: aperture, chiusure e prezzi previsti
Quello che invece andremo a fare adesso è la costruzione di un algoritmo per provare ad effettuare una strategia di trading che sia ‘profittevole’:
% Strategia di trading guadagno=0;
for k=1:30
if PrOpen(k)>Close(k) && Close(k)>Price(k) %se i prezzi di apertura sono maggiori
%di quelli di chiusura e le chiusure sono maggiori dei prezzi di %chiusura previsti, si va SHORT e chiudiamo la posizione al prezzo %di chiusura della giornata.
122
guadagno=guadagno+PrOpen(k)-Close(k);
elseif PrOpen(k)>Price(k) && Price(k)>Close(k)%se i prezzi di
apertura sono maggiori dei prezzi di chiusura previsti e questi sono
maggiori dei prezzi
%di chiusura effettivi, andiamo SHORT e si chiude la posizione al %prezzo che avevamo previsto.
guadagno=guadagno+PrOpen(k)-Price(k);
elseif PrOpen(k)<Close(k) && Price(k)<PrOpen(k) %se i prezzi di apertura sono minori
%dei prezzi di chiusura e i prezzi di chiusura previsti
% sono minori dei prezzi di apertua, andiamo SHORT e si chiude la posizione al
%prezzo di chiusura (in questo caso si registrerà una perdita) guadagno=guadagno+PrOpen(k)-Close(k);
elseif PrOpen(k)<Price(k) && Close(k)> Price(k) guadagno=guadagno+Price(k)-PrOpen(k);
%se i prezzi di apertura sono minori
%dei prezzi di chiusura previsti e i prezzi di chiusura
% sono maggiori dei prezzi previsti andiamo LONG e si chiude la posizione al prezzo previsto
elseif PrOpen(k)<Close(k) && Price(k)> Close(k) guadagno=guadagno+Close(k)-PrOpen(k);
%se i prezzi di apertura sono minori
%dei prezzi di chiusura e i prezzi di chiusura previsti
% sono maggiori dei prezzi di chiusura, andiamo LONG e si chiude la
%posizione al prezzo di chiusura
elseif PrOpen(k)<Price(k) && PrOpen(k)> Close(k) guadagno=guadagno+Close(k)-PrOpen(k);
%se i prezzi di apertura sono minori
%dei prezzi di chiusura previsti e i prezzi di apertura sono
%, inoltre, maggiori dei prezzi di chiusura, andiamo LONG e si chiude la
%posizione al prezzo di chiusura (in questo caso andiamo in perdita)
elseif PrOpen(k)==Close(k) && Close(k)>Price(k) guadagno=guadagno+0;
elseif PrOpen(k)==Close(k) && Close(k)<Price(k) guadagno=guadagno+0;
elseif PrOpen(k)==Price(k) && Close(k)<Price(k)
guadagno=guadagno+0;%non si apre nessuna posizione elseif PrOpen(k)==Price(k) && Close(k)>Price(k)
guadagno=guadagno+0;%non si apre nessuna posizione elseif Price(k)==Close(k) && PrOpen(k)<Close(k)
guadagno=guadagno+Close(k)-PrOpen(k);
elseif Price(k)==Close(k) && PrOpen(k)>Close(k) guadagno=guadagno+PrOpen(k)-Close(k);
end end
123
Con questa operazione si registrerebbe una perdita di circa 20.57 dollari; dal punto di vista ‘reale’, manca una qualcosa di importante da tenere in considerazione: i costi di transazione. Quindi, con queste operazioni, andremmo ancora di più in perdita
considerando tali commissioni.
Facendo riferimento a eventuali costi, le operazioni seguenti, dal momento che si
chiudono in pari, risulterebbero in perdita; infatti, ad ogni apertura di posizione (ma anche
di chiusura), il broker intasca una commissione.
elseif PrOpen(k)==Close(k) && Close(k)>Price(k) guadagno=guadagno+0;
elseif PrOpen(k)==Close(k) && Close(k)<Price(k) guadagno=guadagno+0;
Come possiamo notare dal grafico 4.4, abbiamo preso un periodo di riferimento (per le
previsioni) dal 19 luglio al 30 agosto. Se si prendesse un altro intervallo temporale,
cambierebbe relativamente poco: se si considera i dati fino al 6 giugno, si prevede per i
30 giorni successivi (dal 6 giugno al 18 luglio) si ottiene -5 dollari; se si considerano i
dati fino al dal 24 aprile e si prevede per i 30 giorni successivi (dal 24 aprile al 5 giugno)
124
CONCLUSIONI
In questo elaborato si è voluto trattare un tema molto sviluppato nelle diverse discipline
statistico-economiche: il tema della volatilità.
In particolar modo si è voluto concentrare l’attenzione sui modelli previsionali chiarendo
un fatto molto importante: non esiste un modello migliore a priori per effettuare una
previsione. Per quanto riguarda i rendimenti possiamo addirittura affermare che non
esiste, per motivi di arbitraggio, un modello che riesca a prevederli.
Per quanto riguarda la volatilità, si è dimostrato che, prendendo in considerazione l’indice
NASDAQ, non esiste un modello migliore in assoluto.
In letteratura sono stati sviluppati e continuano a essere elaborati via via sempre più modelli per l’analisi della volatilità proprio per la sua importanza di stima e previsione. In particolar modo ogni modello porta allo sviluppo del successivo.
Infatti, abbiamo visto come i modelli ARMA, che in realtà descrivono la media
condizionata, abbiano portato al modello ARCH, che descrive la varianza condizionata.
Questi ultimi hanno portato allo sviluppo del modello GARCH e alle sue successive
varianti.
Ulteriori sviluppi si sono susseguiti negli anni e, in particolar modo, oltre ai modelli sulla
Volatilità Stocastica e i modelli per la realized volatility hanno trovato ampio spazio i modelli GAS (General Autoregressive Score), descritti nel paper A General Framework
for Observation Driven Time-Varying Parameter Models, e altri ne troveranno sicuramente spazio.
Possiamo quindi concludere dicendo che, secondo i vari studi, la volatilità risulta
prevedibile, anche se il problema potrebbe risultare “quanto prevedibile”? Infatti, man
125
condizionata tende a quella unconditional e sostanzialmente è come non fare nessuna
previsione.
Quello che ci si aspetta per il futuro, invece, sono sempre modelli più precisi che tendano
126
BIBLIOGRAFIA
ARIEL ROBERT A., 1997, A monthly effect in stock returns, Journal of Financial
Economics, Vo. 18, pag.161-174
BARONE E., 1990, The Italian stock market: Efficiency and calendar anomalies, Journal
of Banking & Finance Vol. 14, pag. 483-510.
BROCKWELL J. P., DAVIS R. A., 2002, Introduction to Time Series and Forecasting,
third edition, Springer
BROOKS C., 2008, Introductory Econometrics for finance, second edition, Cambridge
University Press
BAUWENS L., HAFNER C, LAURENT S., 2012, Volatility Models and Their
Applications, John Wiley and Sons
BOUMAN S., JACOBSEN B., 2002, The Halloween Indicator, ‘Sell in May and go Away’: Another Puzzle, American Economic Reviw, Vol. 92, No.5 pag. 1618-1635. CONT R., 2001, Empirical properties of asset returns: stylized facts and statistical issues,
Quantitative Finance, volume 1, pag. 223-236
DANÍELSSON JÓN, 2011, Financial Risk Forecasting The Theory and Practice of
Forecasting Market Risk, with Implementation in R and Matlab, Wiley.
FRANCQ C., ZAKOÏAN, 2010, GARCH Models, Structure, Statistical Inference and
Financial Applications, John Wiley and Sons
GARDINI A., CAVALIERE G., COSTA M., FANELLI L., PARUOLO P., 2014,
Econometria Volume Primo, FrancoAngeli editore
GREENE W. H., 2002, Econometric Analysis, fifth edition, Prentice Hall
HULL JOHN C., 2018, Opzioni, futures e altri derivati, Decima edizione, Pearson
JACOBS BRUCE I., LEVY KENNETH N., 1988, Calendar Anomalies: Abnormal
127
JACOBS BRUCE I., LEVY KENNETH N., Financial Analyst Journal, Vol. 45, pag. 38-
54
KAMARA A., 1997, New Evidence on the Monday Seasonal in Stock Returns, The
Journal of Business
KEIM D., 1983, Size-Related Anomalies and Stock Returns Seasonality: Further
Empirical Evidence, Journal of Finance Economics 12, pag. 13-32
LOLEA I., 2017, Where did the GARCH Models Perform Best in Terms of Volatility
Forecasting? Equity vs. Commodities Markets, Academic Journal of Economic Studies LOPEZ J.A., 2001, Evaluating the Predictive Accuracy of Volatility Models, Journal of
forecasting.
LUCCHETTI J. L., 2015, Appunti di analisi delle serie storiche
MANDELBROT BENOIT B., 1963 The Variation of Certain Speculative Prices, The
Journal of Business 36, No. 4, 349-419.
OUAEL E. J., ABDELATI H., 2018, GARCH Family Models vs EWMA: Which is the
Best Model to Forecast Volatility of the Moroccan Stock Exchange Market?, Revista de Métodos Cuantitativos para a Economia y la Empresa
POCCI C, ROTUNDO G., DE KOK R., 2016, MATLAB per le applicazioni economiche
e finanziarie, Apogeo.
POON SER-HUANG, 2005, A Practical Guide to Forecasting Financial Market
Volatility, Wiley
RAHAHLEH N. A., KAO R., 2018, Forecasting Volatility: Evidence from the Saudi
Stock Market, Journal of Risk and Financial Management
SAUNDERS EDWARD M. JR, 1993, Stock Prices and Wall Street Weather, The
128
SEWELL M., 2011, Characterization of Financial Time Series. UCL Department of
Computer Science
SIEGEL JEREMY J., 2010, Rendimenti finanziari e strategie d’investimento, i titoli
azionari nel lungo periodo, Il Mulino.
SINCLAIR E, 2013, Volatility Trading, Second Edition, Wiley
STEELEY JAMES M., 2001, A note on information seasonality and the disappearance
of the weekend effect in the UK stock market, Journal of Banking & Finance, Vol. 25, pag 1941-1956
TSAY RUEY S., 2010, Analysis of financial time serie, 3rd edition, John Wiley & Sons
Inc
VERBEEK MARNO, 2006, Econometria, Zanichelli
ZENTI R., 2014, Volatilità, modelli decisionali e complessità dei mercati finanziari,
Sistemi Intelligenti, pag. 375 – 406, Il Mulino
ZIEMBA WILLIAM T., 1991, Japanese security market regularities: Monthly, turn-of-
the-month and year, holiday and golden week effects, Japan and the World Economy, Vol.3, pag. 119-146
129 SITOGRAFIA www.bankpedia.org www.finance.yahoo.com www.mathworks.com www.performancetrading.it www.wikipedia.org www.borsaitaliana.it www.ilsole24ore.com