capissimo

SpreadTrade - Distance (ps4 ver. 2)

This script implements a rebrushed distance-based pair trading strategy. In this strategy, normally they trade the difference between the prices of two instruments. This difference is also called spread. Here, however we’ll trade the difference between two time frames of one instrument. And that's the main trick. Common procedure consists of the following steps:

1. Select two CORRELATED stocks. Here we'll use the same instrument in different TFs.
2. Generate the spread by calculating the difference between the prices/instruments. For distance based pair trading, we need to (rescale the data first and then) check the distance between them.
3. Define the logic to trade the spread and generate the trading signals. In this example we’ll calculate the rolling mean and rolling standard deviation of the spread. Whenever the spread goes above a rolling mean by one standard deviation, we’ll short the spread expecting the mean reversion behavior to hold true. And whenever the spread goes below its rolling mean by one standard deviation, we’ll go long on the spread.

Mind that the meaning of the orange and blue signals depends on whether tf variable is smaller or larger than the built-in timeframe.multiplier variable, i.e. tf of the chart.

For details see https://analyticsprofile.com/algo-tradin...

Donate: PayPal (paypal.me)

發布通知: Added 4 more distance measures.
發布通知: Added Mahalanobis distance measure.
發布通知: Minor fix.
發布通知: Minor fix - typos and norm function.
發布通知: Minor fix.
開源腳本

秉持真正的TradingView精神,該腳本的作者將其開源發佈,因此交易者可以理解和驗證它。為作者加油!您可以免費使用它,但是在發佈中重複使用此程式碼受網站規則的約束。您可以把它加入到常用以在圖表上使用它。

想在圖表上使用此腳本?

評論

Do you mind if I ask you few questions regarding hedge ratio?
+2 回覆
Very nice statistical tools and coding!!!
回覆
short = signal == -1 and signal != -1
plot(short ? diff:na, style=plot.style_circles, color=color.orange, linewidth=3, transp=0)
на графике индиктора ни где нет -1 (( ошибка
回覆
this one is fum…!

small typo on line 68, Manhatten needs to be Manhattan
on line 80, need to remove the white space on Correl. change "Correl " to "Correl"
回覆
capissimo kocurekc
@kocurekc, thx)
回覆
Aweesome stuff buddy! Thanks for this!
回覆
@nilux, glad to hear that.) thx.
回覆