关于算法:R语言回测交易根据历史信号交易创建股票收益曲线

7次阅读

共计 2509 个字符,预计需要花费 7 分钟才能阅读完成。

 原文链接:http://tecdat.cn/?p=23808

本文介绍如何依据历史信号 / 交易制作股票曲线。

让咱们以 MARKET TIMING 与 DECISION MOOSE 的历史信号为例,为该策略创立股票曲线。

#*****************************************************************
# 加载信号
#*****************************************************************


    # 提取交易历史
    temp = extract.table.from.webpage(txt, 'Transaction History', has.header = F)
        temp = trim(temp\[-1,2:5\])
     colnames(temp) = spl('id,date,name,equity')
 

 tickers = toupper(trim(gsub('\\\)','', sapply(temp\[,'name'\], spl,'\\\('))))\[2,\]


load(file=filename)
 
 
#plota(make.xts(info$equity, info$date), type='l')
 
#*****************************************************************
# 加载历史数据
#*****************************************************************
tickers = unique(info$tickers)

# 加载保留的代理原始数据
load('data/data.proxy.raw.Rdata')

#  定义现金
tickers = gsub('3MOT','3MOT=BIL+TB3M', tickers)

#飞毛腿新亚洲基金(SAF),并入 DWS 新兴市场股票基金
tickers = gsub('SAF','SAF=SEKCX', tickers)


#增加虚构股票,以放弃交易日期,如果它们与数据不统一的话
dummy = make.stock.xts(make.xts(info$equity, info$date))

getSymbols.extra(tickers, src = 'yahoo', from = '1970-01-01', env = data, raw.data = data.proxy.raw, auto.assign = T)

    # 可抉择未被 Adjusted 捕捉的分叉点
    #data.clean(data, min.ratio=3)

  for(i in ls(data)) data\[\[i\]\] = adjustOHLC(data\[\[i\]\], use.Adjusted=T)
  
  #print(bt.start.dates(data))
  
  data$dummy = dummy




#*****************************************************************
# 设置
#*****************************************************************
prices = data$prices

models = list()

#*****************************************************************
#代码策略,SPY - 买入和持有
#*****************************************************************
data$weight\[\] = NA
    data$weight$SPY = 1
models$SPY = bt.run.share(data, clean.signal=T, silent=T)

#*****************************************************************
# 创立权重
#*****************************************************************
weight = NA * prices

for(t in 1:nrow(info)) {weight\[info$date\[t\],\] = 0
 weight\[info$date\[t\], info$ticker\[t\]\] = 1
}




#*****************************************************************
#创立报告
#****************************************************************** 
plota.matplot(scale.one(data$prices),main='Asset Perfromance')

plot(models, plotX = T)

print(plotbt))

 

m = 'decisionmoose'
plotbmap(models\[\[m\]\]$weight, name=m)


最受欢迎的见解

1.R 语言对 S&P500 股票指数进行 ARIMA + GARCH 交易策略

2.R 语言改良的股票配对交易策略剖析 SPY—TLT 组合和中国股市投资组合

3.R 语言工夫序列:ARIMA GARCH 模型的交易策略在外汇市场预测利用

4.TMA 三均线期指高频交易策略的 R 语言实现

5.r 语言多均线量化策略回测比拟

6. 用 R 语言实现神经网络预测股票实例

7.r 语言预测稳定率的实现:ARCH 模型与 HAR-RV 模型

8.R 语言如何做马尔科夫转换模型 markov switching model

9.matlab 应用 Copula 仿真优化市场危险

正文完
 0