最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

R語言金融市場量化交易:布林帶、價差策略、RSI交易策略,回測COMP 226|附代碼數(shù)據(jù)

2023-03-30 23:51 作者:拓端tecdat  | 我要投稿

全文下載鏈接:http://tecdat.cn/?p=29653

最近我們被客戶要求撰寫關(guān)于量化交易的研究報告,包括一些圖形和統(tǒng)計(jì)輸出。

我們將利用每日數(shù)據(jù)制定簡單的交易策略,將涵蓋以下內(nèi)容。

  • 一個簡單的介紹性交易。

  • 它每天只根據(jù)前一天的價格行為做出交易決定 - 我們用這個例子來介紹前瞻性的偏見

  • 布林線是一個使用移動平均線(和移動標(biāo)準(zhǔn)差)的標(biāo)準(zhǔn)技術(shù)分析指標(biāo)的例子

  • 一個使用布林線的簡單的均線回復(fù)型交易策略 指標(biāo)作為策略的構(gòu)件(但與之不同)。路徑依賴性。止損、盈利目標(biāo)和持有期是引入路徑依賴的交易策略構(gòu)建的例子。

  • 滑點(diǎn)--我們回顧一下什么是滑點(diǎn),我們探討在交易策略中考慮滑點(diǎn)的問題 - 使用價差的策略,它是兩個價格時間序列的線性組合

簡單的策略:模仿

策略

  • 如果收盤價高于開盤價,則在第二天買入

  • 否則,在第二天賣出

我們希望這個策略在什么時候能發(fā)揮作用?

  • 如果有連續(xù)多日價格向同一方向移動的情況

  • 每一天的方向與之前的變化不同,對該策略來說都是虧損的一天,所以這樣的日子不應(yīng)該有大的價格波動。

測試該策略

從現(xiàn)在開始,我們將重復(fù)使用實(shí)用工具腳本 "utilities.R "中的函數(shù)。在這種情況下,我們將使用。

  • getLogReturns(prices),從調(diào)整后的價格中計(jì)算出對數(shù)回報。

  • getEquityLog(log_ret,pos),從對數(shù)收益和倉位向量中計(jì)算出股權(quán)曲線。

實(shí)用功能

getLogReturns <- function(prices) { # 返回調(diào)整后價格的對數(shù)收益 # 假設(shè)輸入中存在調(diào)整后的價格列 log_ret <- ROC(Ad(prices),type='continuous') log_ret[1] <- 0 return(log_ret) }getEquityCurve <- function(returns,pos,type='log') { # ?股票曲線的簡單回報 if (type=='log') return(exp(cumsum(returns*pos)) - 1) else cat ('Type not supported','\n') }

股票曲線?

我們使用滯后函數(shù)將時間序列移動一個位置,因此我們使用前一天的價格來做決定

pos <- ifelse(Cl(prices)-Op(prices)>0,1,-1) pos <- Lag(pos) pos[1] <- 0

正確的股票曲線

交換位置?

注意到這個策略在所有四個股票上都表現(xiàn)不佳,但在其中三個股票上表現(xiàn)特別差。這表明對策略進(jìn)行了明顯的改變:做完全相反的事情,即交換多頭和空頭交易,如下所示

pos <- ifelse(Cl(prices)-Op(prices)>0,1,-1)

切換式股票曲線

點(diǎn)擊標(biāo)題查閱往期內(nèi)容

【視頻】量化交易陷阱和R語言改進(jìn)股票配對交易策略分析中國股市投資組合

左右滑動查看更多

01

02

03

04

移動標(biāo)準(zhǔn)差和布林帶

類似于移動平均線,我們現(xiàn)在引入移動(滾動)標(biāo)準(zhǔn)差

我們使用移動平均線和移動標(biāo)準(zhǔn)差來定義布林帶,然后將在我們的下一個交易策略示例中使用

圖表系列

> library(quantmod) > getSymbols('AAPL')

這使用包中的BBands函數(shù)TTR quantmod在chartSeries中結(jié)合了xts和TTR功能

策略代碼

我們將使用與相同的循環(huán)、收益和權(quán)益曲線計(jì)算

  • 改變的是位置向量的計(jì)算

pos <- long + shortpos <- lag(pos)

參數(shù)

這個策略的參數(shù)是什么?

bbands <- BBands(prices,n=50,sd=2)

兩個明顯的數(shù)字參數(shù)是。

  • n是回溯期,和

  • sd是標(biāo)準(zhǔn)偏差的乘數(shù)

?例子

plot(equity,main='Equity curve')

該策略需要一個參數(shù),即持有期。當(dāng)且僅當(dāng)持有期過后,我們退出交易?

通過在計(jì)數(shù)小于持有期時留在交易中來實(shí)現(xiàn)。

run <- function(prices,n,sd,hold) { bbands <- lag(BBands(prices,n=n,sd=sd)) pos <- rep(0,length=nrow(prices)) # all zeroes

下一個例子 - 止損

  • 止損限制了某項(xiàng)交易的損失

  • 我們將衡量一筆交易的簡單回報

  • 如果它太負(fù),我們將退出交易

getTradeReturn <- function(prices,entry,exit,short=FALSE) { prices <- as.numeric(prices)> prices Adjusted1970-01-02 1001970-01-03 1101970-01-04 1001970-01-05 1501970-01-06 2001970-01-07 100> getTradeReturn(prices,entry=1,exit=2)[1] 0.1 > getTradeReturn(prices,entry=1,exit=2,short=T)[1] -0.09090909 > getTradeReturn(prices,entry=1,exit=4)[1] 0.5 titStr <- paste("stoploss=", stoploss,":",sum(stopOuts),"stop outs") plotEquity(prices,pos,stopOuts,titStr); return(pos) }

利差

  • 兩個系列的加權(quán)組合(通常是差異)。

策略可以嘗試?yán)脙r差中的均值反轉(zhuǎn);對于一對股票,這被稱為成對交易

  • 與協(xié)整理論有關(guān)

價差例子

我們將看一下標(biāo)準(zhǔn)普爾500指數(shù)和道瓊斯工業(yè)指數(shù)

pdf('different_screens.pdf') plot.zoo(prices,col=cols,xlab=xlab,ylab=paste(tickers,ylab),main="") dev.off()


現(xiàn)在,驚人的相似性是顯而易見的

例子:尋找權(quán)重

lookback <- 50 spread <- close1 - positionRatio*close2

  • 點(diǎn)差 = x - positionRatio * y

  • 當(dāng)我們賣出y的倉位比例單位時,買入一個單位的x

點(diǎn)差例子

plot.zoo(cbind(spread,0,0.5,-0.5),screen=c(2,2,2,2),main="Spread")

一個價差策略

創(chuàng)建價差的目的是創(chuàng)建一個平穩(wěn)的時間序列,也就是一個具有恒定平均值和標(biāo)準(zhǔn)差的時間序列。

如果我們成功了,我們就可以在價差遠(yuǎn)遠(yuǎn)低于其平均值時買入價差(做多廉價產(chǎn)品,做空昂貴產(chǎn)品),在價差高于其平均值時賣出價差。

連續(xù)積分理論正是處理平穩(wěn)的時間序列的線性組合,但我們不會去研究數(shù)學(xué)。

接下來我們將看到一個簡單的基于布林線的價差交易策略想法。

例子:RSI策略

  • RSI是一個標(biāo)準(zhǔn)的指標(biāo),在TTR軟件包中實(shí)現(xiàn)。

  • 它的數(shù)值在0到100之間,較高(較低)的數(shù)值表示市場最近在上升(下降)。

# RSI 策略 pos <- long + short pos <- Lag(pos); pos[is.na(pos)] <- 0 return(pos) }

樣本內(nèi)和樣本外回測

resultsIn <- backtest(prices[startIn:endIn,],params) # in-sampleresultsOut <- backtest(prices[startOut:endOut,],params) # out-of-sample

繪制圖

#dev.new(width=10, height=5) # prevent elongation of plotsgrid.arrange(plot1,plot2,ncol=2) dev.off()

  • 從樣本內(nèi)結(jié)果中挑選參數(shù)并不總是容易的


    • 數(shù)據(jù)集的漂移可能導(dǎo)致良好的參數(shù)組合在樣本內(nèi)和樣本外期間有所不同

點(diǎn)擊文末?“閱讀原文”

獲取全文完整代碼數(shù)據(jù)資料。

本文選自《R語言金融市場量化交易:布林帶、價差策略、RSI交易策略,回測COMP 226》。

點(diǎn)擊標(biāo)題查閱往期內(nèi)容

【視頻】量化交易陷阱和R語言改進(jìn)股票配對交易策略分析中國股市投資組合
使用R語言對S&P500股票指數(shù)進(jìn)行ARIMA + GARCH交易策略
R語言量化交易RSI策略:使用支持向量機(jī)SVM
R語言資產(chǎn)配置: 季度戰(zhàn)術(shù)資產(chǎn)配置策略研究
R語言動量交易策略分析調(diào)整后的數(shù)據(jù)
TMA三均線股票期貨高頻交易策略的R語言實(shí)現(xiàn)
R語言時間序列:ARIMA / GARCH模型的交易策略在外匯市場預(yù)測應(yīng)用
R語言基于Garch波動率預(yù)測的區(qū)制轉(zhuǎn)移交易策略
r語言多均線股票價格量化策略回測
使用R語言對S&P500股票指數(shù)進(jìn)行ARIMA + GARCH交易策略
Python基于粒子群優(yōu)化的投資組合優(yōu)化研究
R語言Fama-French三因子模型實(shí)際應(yīng)用:優(yōu)化投資組合
R語言動量和馬科維茨Markowitz投資組合(Portfolio)模型實(shí)現(xiàn)
Python計(jì)算股票投資組合的風(fēng)險價值(VaR)
R語言Markowitz馬克維茨投資組合理論分析和可視化
R語言中的廣義線性模型(GLM)和廣義相加模型(GAM):多元(平滑)回歸分PYTHON用RNN神經(jīng)網(wǎng)絡(luò)LSTM優(yōu)化EMD經(jīng)驗(yàn)?zāi)B(tài)分解交易策略分析股票價格MACD
R語言深度學(xué)習(xí):用keras神經(jīng)網(wǎng)絡(luò)回歸模型預(yù)測時間序列數(shù)據(jù)
【視頻】CNN(卷積神經(jīng)網(wǎng)絡(luò))模型以及R語言實(shí)現(xiàn)回歸數(shù)據(jù)分析
Python TensorFlow循環(huán)神經(jīng)網(wǎng)絡(luò)RNN-LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測股票市場價格時間序列和MSE評估準(zhǔn)確性
數(shù)據(jù)分享|PYTHON用KERAS的LSTM神經(jīng)網(wǎng)絡(luò)進(jìn)行時間序列預(yù)測天然氣價格例子
Python對商店數(shù)據(jù)進(jìn)行l(wèi)stm和xgboost銷售量時間序列建模預(yù)測分析
Matlab用深度學(xué)習(xí)長短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)對文本數(shù)據(jù)進(jìn)行分類
RNN循環(huán)神經(jīng)網(wǎng)絡(luò) 、LSTM長短期記憶網(wǎng)絡(luò)實(shí)現(xiàn)時間序列長期利率預(yù)測
結(jié)合新冠疫情COVID-19股票價格預(yù)測:ARIMA,KNN和神經(jīng)網(wǎng)絡(luò)時間序列分析
深度學(xué)習(xí):Keras使用神經(jīng)網(wǎng)絡(luò)進(jìn)行簡單文本分類分析新聞組數(shù)據(jù)
用PyTorch機(jī)器學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)分類預(yù)測銀行客戶流失模型
PYTHON用LSTM長短期記憶神經(jīng)網(wǎng)絡(luò)的參數(shù)優(yōu)化方法預(yù)測時間序列洗發(fā)水銷售數(shù)據(jù)
Python用Keras神經(jīng)網(wǎng)絡(luò)序列模型回歸擬合預(yù)測、準(zhǔn)確度檢查和結(jié)果可視化
Python用LSTM長短期記憶神經(jīng)網(wǎng)絡(luò)對不穩(wěn)定降雨量時間序列進(jìn)行預(yù)測分析
R語言中的神經(jīng)網(wǎng)絡(luò)預(yù)測時間序列:多層感知器(MLP)和極限學(xué)習(xí)機(jī)(ELM)數(shù)據(jù)分析報告
R語言深度學(xué)習(xí):用keras神經(jīng)網(wǎng)絡(luò)回歸模型預(yù)測時間序列數(shù)據(jù)
Matlab用深度學(xué)習(xí)長短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)對文本數(shù)據(jù)進(jìn)行分類
R語言KERAS深度學(xué)習(xí)CNN卷積神經(jīng)網(wǎng)絡(luò)分類識別手寫數(shù)字圖像數(shù)據(jù)(MNIST)
MATLAB中用BP神經(jīng)網(wǎng)絡(luò)預(yù)測人體脂肪百分比數(shù)據(jù)
Python中用PyTorch機(jī)器學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)分類預(yù)測銀行客戶流失模型
R語言實(shí)現(xiàn)CNN(卷積神經(jīng)網(wǎng)絡(luò))模型進(jìn)行回歸數(shù)據(jù)分析
SAS使用鳶尾花(iris)數(shù)據(jù)集訓(xùn)練人工神經(jīng)網(wǎng)絡(luò)(ANN)模型
【視頻】R語言實(shí)現(xiàn)CNN(卷積神經(jīng)網(wǎng)絡(luò))模型進(jìn)行回歸數(shù)據(jù)分析
Python使用神經(jīng)網(wǎng)絡(luò)進(jìn)行簡單文本分類
R語言用神經(jīng)網(wǎng)絡(luò)改進(jìn)Nelson-Siegel模型擬合收益率曲線分析
R語言基于遞歸神經(jīng)網(wǎng)絡(luò)RNN的溫度時間序列預(yù)測
R語言神經(jīng)網(wǎng)絡(luò)模型預(yù)測車輛數(shù)量時間序列
R語言中的BP神經(jīng)網(wǎng)絡(luò)模型分析學(xué)生成績
matlab使用長短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)對序列數(shù)據(jù)進(jìn)行分類
R語言實(shí)現(xiàn)擬合神經(jīng)網(wǎng)絡(luò)預(yù)測和結(jié)果可視化
用R語言實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)預(yù)測股票實(shí)例
使用PYTHON中KERAS的LSTM遞歸神經(jīng)網(wǎng)絡(luò)進(jìn)行時間序列預(yù)測
python用于NLP的seq2seq模型實(shí)例:用Keras實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯
用于NLP的Python:使用Keras的多標(biāo)簽文本LSTM神經(jīng)網(wǎng)絡(luò)分類


R語言金融市場量化交易:布林帶、價差策略、RSI交易策略,回測COMP 226|附代碼數(shù)據(jù)的評論 (共 條)

分享到微博請遵守國家法律
穆棱市| 民勤县| 凤台县| 达孜县| 巴中市| 庆云县| 繁昌县| 汾阳市| 柯坪县| 马龙县| 涿州市| 监利县| 方山县| 南康市| 嘉义市| 瑞金市| 漠河县| 富锦市| 三河市| 兴宁市| 呈贡县| 玛曲县| 周至县| 彝良县| 鹤山市| 万盛区| 东乌珠穆沁旗| 五台县| 盖州市| 永泰县| 冷水江市| 东丽区| 大港区| 临湘市| 隆昌县| 黄冈市| 康平县| 南宫市| 墨竹工卡县| 南开区| 永寿县|