Skip to content

Instantly share code, notes, and snippets.

@kevincdurand1
Created May 23, 2018 23:10
Show Gist options
  • Save kevincdurand1/30890ad9314801e51bbf2f0c73e992b3 to your computer and use it in GitHub Desktop.
Save kevincdurand1/30890ad9314801e51bbf2f0c73e992b3 to your computer and use it in GitHub Desktop.
PercentChange.sql
SELECT [DateTime]
,([Close] - LAG ([Close],1) OVER (ORDER BY [DateTime]))/LAG ([Close],1) OVER (ORDER BY [DateTime])*100 AS pct_change_close_1
,([Close] - LAG ([Close],2) OVER (ORDER BY [DateTime]))/LAG ([Close],2) OVER (ORDER BY [DateTime])*100 AS pct_change_close_2
,([Close] - LAG ([Close],3) OVER (ORDER BY [DateTime]))/LAG ([Close],3) OVER (ORDER BY [DateTime])*100 AS pct_change_close_3
,([Close] - LAG ([Close],4) OVER (ORDER BY [DateTime]))/LAG ([Close],4) OVER (ORDER BY [DateTime])*100 AS pct_change_close_4
,([Close] - LAG ([Close],5) OVER (ORDER BY [DateTime]))/LAG ([Close],5) OVER (ORDER BY [DateTime])*100 AS pct_change_close_5
,([Close] - LAG ([Close],6) OVER (ORDER BY [DateTime]))/LAG ([Close],6) OVER (ORDER BY [DateTime])*100 AS pct_change_close_6
,([Close] - LAG ([Close],7) OVER (ORDER BY [DateTime]))/LAG ([Close],7) OVER (ORDER BY [DateTime])*100 AS pct_change_close_7
,([Close] - LAG ([Close],8) OVER (ORDER BY [DateTime]))/LAG ([Close],8) OVER (ORDER BY [DateTime])*100 AS pct_change_close_8
,([Close] - LAG ([Close],9) OVER (ORDER BY [DateTime]))/LAG ([Close],9) OVER (ORDER BY [DateTime])*100 AS pct_change_close_9
,([Close] - LAG ([Close],10) OVER (ORDER BY [DateTime]))/LAG ([Close],10) OVER (ORDER BY [DateTime])*100 AS pct_change_close_10
,([Close] - LAG ([Close],11) OVER (ORDER BY [DateTime]))/LAG ([Close],11) OVER (ORDER BY [DateTime])*100 AS pct_change_close_11
,([Close] - LAG ([Close],12) OVER (ORDER BY [DateTime]))/LAG ([Close],12) OVER (ORDER BY [DateTime])*100 AS pct_change_close_12
,([Close] - LAG ([Close],13) OVER (ORDER BY [DateTime]))/LAG ([Close],13) OVER (ORDER BY [DateTime])*100 AS pct_change_close_13
,([Close] - LAG ([Close],14) OVER (ORDER BY [DateTime]))/LAG ([Close],14) OVER (ORDER BY [DateTime])*100 AS pct_change_close_14
,([Close] - LAG ([Close],15) OVER (ORDER BY [DateTime]))/LAG ([Close],15) OVER (ORDER BY [DateTime])*100 AS pct_change_close_15
,([Close] - LAG ([Close],16) OVER (ORDER BY [DateTime]))/LAG ([Close],16) OVER (ORDER BY [DateTime])*100 AS pct_change_close_16
,([Close] - LAG ([Close],17) OVER (ORDER BY [DateTime]))/LAG ([Close],17) OVER (ORDER BY [DateTime])*100 AS pct_change_close_17
,([Close] - LAG ([Close],18) OVER (ORDER BY [DateTime]))/LAG ([Close],18) OVER (ORDER BY [DateTime])*100 AS pct_change_close_18
,([Close] - LAG ([Close],19) OVER (ORDER BY [DateTime]))/LAG ([Close],19) OVER (ORDER BY [DateTime])*100 AS pct_change_close_19
,([Close] - LAG ([Close],20) OVER (ORDER BY [DateTime]))/LAG ([Close],20) OVER (ORDER BY [DateTime])*100 AS pct_change_close_20
,([Close] - LAG ([Close],21) OVER (ORDER BY [DateTime]))/LAG ([Close],21) OVER (ORDER BY [DateTime])*100 AS pct_change_close_21
,([Close] - LAG ([Close],22) OVER (ORDER BY [DateTime]))/LAG ([Close],22) OVER (ORDER BY [DateTime])*100 AS pct_change_close_22
,([Close] - LAG ([Close],23) OVER (ORDER BY [DateTime]))/LAG ([Close],23) OVER (ORDER BY [DateTime])*100 AS pct_change_close_23
,([Close] - LAG ([Close],24) OVER (ORDER BY [DateTime]))/LAG ([Close],24) OVER (ORDER BY [DateTime])*100 AS pct_change_close_24
,([Close] - LAG ([Close],25) OVER (ORDER BY [DateTime]))/LAG ([Close],25) OVER (ORDER BY [DateTime])*100 AS pct_change_close_25
,([Close] - LAG ([Close],26) OVER (ORDER BY [DateTime]))/LAG ([Close],26) OVER (ORDER BY [DateTime])*100 AS pct_change_close_26
,([Close] - LAG ([Close],27) OVER (ORDER BY [DateTime]))/LAG ([Close],27) OVER (ORDER BY [DateTime])*100 AS pct_change_close_27
,([Close] - LAG ([Close],28) OVER (ORDER BY [DateTime]))/LAG ([Close],28) OVER (ORDER BY [DateTime])*100 AS pct_change_close_28
,([Close] - LAG ([Close],29) OVER (ORDER BY [DateTime]))/LAG ([Close],29) OVER (ORDER BY [DateTime])*100 AS pct_change_close_29
,([Close] - LAG ([Close],30) OVER (ORDER BY [DateTime]))/LAG ([Close],30) OVER (ORDER BY [DateTime])*100 AS pct_change_close_30
,([Close] - LAG ([Close],31) OVER (ORDER BY [DateTime]))/LEAD ([Close],31) OVER (ORDER BY [DateTime])*100 AS pct_change_close_31 --1 MIN
,([Close] - LAG ([Close],35) OVER (ORDER BY [DateTime]))/LEAD ([Close],35) OVER (ORDER BY [DateTime])*100 AS pct_change_close_35 --5 MIN
,([Close] - LAG ([Close],45) OVER (ORDER BY [DateTime]))/LEAD ([Close],45) OVER (ORDER BY [DateTime])*100 AS pct_change_close_45 --15 MIN
,([Close] - LAG ([Close],60) OVER (ORDER BY [DateTime]))/LEAD ([Close],60) OVER (ORDER BY [DateTime])*100 AS pct_change_close_60 --30 MIN
FROM [EURUSD_Daily_198001020000_201805180000_Quant]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment