欢迎光临散文网 会员登陆 & 注册

拓端tecdat|R语言回测交易:根据历史信号/交易创建股票收益曲线

2021-09-17 10:40 作者:拓端tecdat  | 我要投稿

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

原文出处:拓端数据部落公众号 

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

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

  1. #*****************************************************************

  2. # 加载信号

  3. #*****************************************************************



  4. # 提取交易历史

  5. temp = extract.table.from.webpage(txt, 'Transaction History', has.header = F)

  6. temp = trim(temp[-1,2:5])

  7. colnames(temp) = spl('id,date,name,equity')


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



  9. load(file=filename)



  10. #plota(make.xts(info$equity, info$date), type='l')


  11. #*****************************************************************

  12. # 加载历史数据

  13. #*****************************************************************

  14. tickers = unique(info$tickers)


  15. # 加载保存的代理原始数据

  16. load('data/data.proxy.raw.Rdata')


  17. #  定义现金

  18. tickers = gsub('3MOT','3MOT=BIL+TB3M', tickers)


  19. #飞毛腿新亚洲基金(SAF),并入DWS新兴市场股票基金

  20. tickers = gsub('SAF','SAF=SEKCX', tickers)



  21. #添加虚拟股票,以保持交易日期,如果它们与数据不一致的话

  22. dummy = make.stock.xts(make.xts(info$equity, info$date))


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


  24. # 可选择未被Adjusted捕获的分叉点

  25. #data.clean(data, min.ratio=3)

  26. for(i in ls(data)) data[[i]] = adjustOHLC(data[[i]], use.Adjusted=T)


  27. #print(bt.start.dates(data))


  28. data$dummy = dummy





  29. #*****************************************************************

  30. # 设置

  31. #*****************************************************************

  32. prices = data$prices


  33. models = list()


  34. #*****************************************************************

  35. #代码策略,SPY - 买入和持有

  36. #*****************************************************************

  37. data$weight[] = NA

  38. data$weight$SPY = 1

  39. models$SPY = bt.run.share(data, clean.signal=T, silent=T)

  40. #*****************************************************************

  41. # 创建权重

  42. #*****************************************************************

  43. weight = NA * prices

  44. for(t in 1:nrow(info)) {

  45. weight[info$date[t],] = 0

  46. weight[info$date[t], info$ticker[t]] = 1

  47. }

  48. #*****************************************************************

  49. #创建报告

  50. #******************************************************************

  51. plota.matplot(scale.one(data$prices),main='Asset Perfromance')

plot(models, plotX = T)

print(plotbt))

 

  1. m = 'decisionmoose'

  2. 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仿真优化市场风险


拓端tecdat|R语言回测交易:根据历史信号/交易创建股票收益曲线的评论 (共 条)

分享到微博请遵守国家法律