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

简介: R语言回测交易:根据历史信号/交易创建股票收益曲线

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

让我们以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)


相关文章
|
6月前
|
机器学习/深度学习 数据可视化
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为2
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为
|
2月前
|
机器学习/深度学习
R语言模型评估:深入理解混淆矩阵与ROC曲线
【9月更文挑战第2天】混淆矩阵和ROC曲线是评估分类模型性能的两种重要工具。混淆矩阵提供了模型在不同类别上的详细表现,而ROC曲线则通过综合考虑真正率和假正率来全面评估模型的分类能力。在R语言中,利用`caret`和`pROC`等包可以方便地实现这两种评估方法,从而帮助我们更好地理解和选择最适合当前任务的模型。
|
6月前
|
机器学习/深度学习 数据可视化 算法
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为1
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为
|
6月前
|
机器学习/深度学习 数据可视化 数据挖掘
R语言逻辑回归logistic对ST股票风险建模分类分析混淆矩阵、ROC曲线可视化
R语言逻辑回归logistic对ST股票风险建模分类分析混淆矩阵、ROC曲线可视化
|
6月前
R语言非线性方程数值分析生物降解、植物生长数据:多项式、渐近回归、米氏方程、逻辑曲线、Gompertz、Weibull曲线(下)
R语言非线性方程数值分析生物降解、植物生长数据:多项式、渐近回归、米氏方程、逻辑曲线、Gompertz、Weibull曲线
|
6月前
|
算法
R语言非线性方程数值分析生物降解、植物生长数据:多项式、渐近回归、米氏方程、逻辑曲线、Gompertz、Weibull曲线(上)
R语言非线性方程数值分析生物降解、植物生长数据:多项式、渐近回归、米氏方程、逻辑曲线、Gompertz、Weibull曲线
|
2月前
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。
|
21天前
|
数据挖掘 C语言 C++
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
40 3
|
6月前
|
数据可视化 数据挖掘 API
【R语言实战】聚类分析及可视化
【R语言实战】聚类分析及可视化
|
2月前
|
数据采集 数据可视化 数据挖掘
R语言在金融数据分析中的深度应用:探索数据背后的市场智慧
【9月更文挑战第1天】R语言在金融数据分析中展现出了强大的功能和广泛的应用前景。通过丰富的数据处理函数、强大的统计分析功能和优秀的可视化效果,R语言能够帮助金融机构深入挖掘数据价值,洞察市场动态。未来,随着金融数据的不断积累和技术的不断进步,R语言在金融数据分析中的应用将更加广泛和深入。

热门文章

最新文章