原文链接: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$pricesmodels = list()#*****************************************************************#代码策略,SPY - 买入和持有#*****************************************************************data$weight\[\] = NA data$weight$SPY = 1models$SPY = bt.run.share(data, clean.signal=T, silent=T)#*****************************************************************# 创立权重#*****************************************************************weight = NA * pricesfor(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仿真优化市场危险