




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
15金融专硕 15720708 仰军均线模型量化股票交易摘 要:移动平均线(MA)是股市中最常用的一种分析技术,用于在大行情的波动段找到有效的交易信号。移动平均线简单、有效,对股市操作具有较好的指导作用。均线模型能有效地打败了大部分的主观策略,成为炒股,炒期货的必备基本工具。本文选用阿里巴巴 2014 年 9 月至今的股票数据,对其每日收盘价进行了 5 日、20 日和60 日移动平均。先用每日收盘价和 20 日平均分析一条均线的交易策略,通过找出交易信号并模拟交易,发现一条均线交易策略会有些许的亏损,但通过图表分析,此策略能够较好的预测股价走势,相对主观投资更为合理;然后用 5 日平均和 20 日平均做两条均线的交易策略,这是对一条均线模型的优化,模拟交易后发现此交易能够盈利。关键词:股票移动平均均线交易策略模拟交易II 1.均线模型的简单介绍1.1移动平均线本文采用统计学中”移动平均”的原理,计算一股票每日收盘价的简单移动平均,将一段时期内的股票价格平均值连成曲线,来显示股价的历史波动情况,进而反映股价指数未来发展趋势。1.2均线的特性(1) 平滑性。通过均线的平滑移动来修复股价的不规则偶然变动。(2) 灵敏性、稳定性。均线参数取值不同,其特性也不同。参数越小,灵敏性越强,稳定性越差;参数越大,稳定性越强,灵敏性越差。(3) 助涨性、助跌性。上升趋势线有助涨的特性,下降趋势线有助跌的特性。1.3均线模型在日K线图中除了标准的价格K线以外,另外还有4条线,分别是白线、黄线、紫线、绿线依次分别表示:5日、10日、20日和60日移动平均线,通过这4条线与价格K线的交叉,就可以形成不同的均线模型。利用均线平滑的特点,可以发现均线与价格K线会有叉,各均线之间也有交叉,我们可以通过这些交叉点判断交易信号:黄金交叉,当10日均线由下往上穿越30日均线,10日均线在上,30日均线在下,其交叉点就是黄金交叉,黄金交叉是多头的表现,出现黄金交叉后,后市会有一定的涨幅空间,这是进场的最佳时机;死亡交叉,当30日均线与10日平均线交叉时,30日均线由下住上穿越10日平均线,形成30日平均线在上,10日均线在下时,其交点称之为”死亡交叉”,”死亡交叉”预示空头市场来临,股市将下跌此时是出场的最佳时机。2.用R语言实现模型建立2.1从互联网下载股票数据利用quantmod包的getSymbols()函数,默认会通过Yahoo的金融开放API下载数据,我们选择阿里巴巴的股票数据,从2014-09-19至今的1年多的日间交易数据。数据类型为 xts格式的时间序列,数据包括7个列,以日期做索引列,其他6列分别为 开盘价(Open), 最高价(High), 最低价(Low), 收盘价(Close), 交易量(Volume), 调整价(Adjusted)。2.2自定义均线图自定义均线指标:以日期时间序列为索引,收盘价做为价格指标,不考虑成交量及其他维度字段。取2014-09-19至今,形成趋势的数据,画出价格曲线,5日均线,20日均线,60 日均线。通过自己封装的移动平均函数和可视化函数,就实现了与交易软件中类似的日K线图和多条均线结合的可视化输出。2.3一条均线的交易策略模型设计思路:1. 以股价和20日均线的交叉,进行交易信号的判断。2. 当股价上穿20日均线则买入(红色),下穿20日均线卖出(蓝色)。首先画出股价和20日均线图以散点覆盖20日均线,红色点为买入持有,蓝色点为卖出空仓。用股价和20日均线价格做比较,把股价大于均线的部分用蓝色表示,股价小于均线的部分用红色表示。我们看到图中,蓝色点和红色点在20日均线上交替出现,我们可以在每次红色出现的第一个点买入股票,然后在蓝色的第一个点卖出股票。找出交易信号点,并以100000本金做模拟交易。为简化操作假定在信号点满仓买入或卖出,手续费为0。运算结果显示,亏损的有11笔而盈利的只有3笔,一年下来一共亏损了17038元。似乎一条均线模型是失败的,因为它不仅没能盈利反而带来的亏损。下面就从股价和模拟现金投入来进行简单的分析亏损原因。该图示,上半红色部分为日收盘价,下半蓝色部分为模拟交易的现金流,对比可见,阿里股价在14年年底开始走低,而根据一条均线模型进行的投资策略比较合理的预测了股市的走势并进行了股票的买入卖出,在一定程度上是减少了亏损。2.4两条均线的交易策略一条均线模型,在大的趋势下是可以进行稳定投资的,但由于一条均线对于波动非常敏感性,如果小波动过于频繁,不仅会增加交易次数,而且会让模型失效。然后,就有二条均线的策略模型,可以减低对波动的敏感性。二条均线策略模型,与一条均线模型思路类似,以5日均线价格替换股价,是通过5日均线和20日均线交叉来进行信号交易的。画出股价、5日均线和20日均线图以散点覆盖20日均线,红色点为买入持有,蓝色点为卖出空仓。以同样的条件进行两条均线交易策略的模拟交易。根据运算结果,虽然依旧亏损了11笔盈利3笔,但最终带来了总盈利7408元。2.5两种策略的简单分析策略一在模拟交易中一共进行了30次交易,最终亏损10000元左右,而策略二只进行了20次交易,最终带来盈利7000左右。很明显两条均线的交易策略能更好的追踪股价趋势,带给投资者回报。看起来均线模型是如此的简单,但实盘交易时真能在趋势行情中跑赢双均线(优化)模型,也真不是一件容易的事情。参考文献: 1常宁,徐国祥.金融高频数据分析的现状与问题研究.财经研究,2004,(3): 31-39 2武振,郑丕谔基于遗传神经网络的股价波动预测天津大学学报,2004, 6(4):307310 3马超群,张明良.ACD 族计量模型的分类与比较分析.金融经济,2005,(8) 86-87 4蒋学雷,陈敏,王国明等.股票市场的流动性度量的动态 ACD 模型.统计研究,2004,(4):42-44 5 王 晶,王玉玲,向东进,阮曙芬. 自回归条件持续期(ACD)模型研究 统计与决策 2006(6) 6 Economist. 2007a. Ahead of the TapeAlgorithmic Trading.Economist. June 23, 2007. 2007b. Dodgy TickersStock Exchanges. Economist. March 10, 2007. 7 M. Kearns and L. Ortiz. The PennLehman automated trading project. IEEE Intelligent Systems, 2003. To appear. 8 Domowitz, I., and H. Yegerman. 2005. “The Cost of Algorithmic Trading: A First Look at Comparative Performance.” Edited by Brian R. Bruce, Algorithmic Trading: Precision,Control, Execution. Institutional Investor. 附表一:R语言代码#加载必须的函数包library(plyr) library(quantmod) library(TTR) library(ggplot2) library(scales)library(reshape2)#设置存储位置setwd(E:/Statistical modeling/)#下载数据download-function(stock,from=2013-01-01) df-getSymbols(stock,from=from,env=environment(),auto.assign=FALSE)#下载数据 names(df)-c(Open,High,Low,Close,Volume,Adjusted) write.zoo(df,file=paste(stock,.csv,sep=),sep=,quote=FALSE) #保存到本地 #本地读数据read-function(stock)as.xts(read.zoo(file=paste(stock,.csv,sep=),header = TRUE,sep=, format=%Y-%m-%d)stock-BABAdownload(stock,from=2013-01-01) BABA-read(stock)#定义移动平均函数ma-function(cdata,mas=c(5,20,60) ldata-cdata for(m in mas) ldata-merge(ldata,SMA(cdata,m) ldata-na.locf(ldata, fromLast=TRUE) names(ldata)-c(Value,paste(ma,mas,sep=) return(ldata)#定义均线图函数drawLine-function(ldata,titie=Stock_MA,sDate=min(index(ldata),eDate=max(index(ldata),out=FALSE) g-ggplot(aes(x=Index, y=Value),data=fortify(ldata,1,melt=TRUE) g-g+geom_line() g-g+geom_line(aes(colour=Series),data=fortify(ldata,-1,melt=TRUE) g-g+scale_x_date(labels=date_format(%Y-%m),breaks=date_breaks(2 months),limits =c(sDate,eDate) g-g+xlab() + ylab(Price)+ggtitle(title)if(out) ggsave(g,file=paste(titie,.png,sep=) else g#选取数据并运行cdata-BABA2014/2015$Close title-Stock_BABA #图片标题 sDate-as.Date(2014-9-19) #开始日期 eDate-as.Date(2015-10-23) #结束日期ldata-ma(cdata,c(5,20,60) #选择滑动平均指标p0-drawLine(ldata,title,sDate,eDate) #画图 ggsave(p0,file=paste(title,.png,sep=)#存图#画出股价和20日均线图ldata1-ma(cdata,c(20) #选择滑动平均指标 p11-drawLine(ldata1,title,sDate,eDate) #画图#以散点覆盖20日均线,红色点为买入持有,蓝色点为卖出空仓# 定义均线图+散点函数drawPoint-function(ldata,pdata,titie,sDate,eDate) g-ggplot(aes(x=Index, y=Value),data=fortify(ldata,1,melt=TRUE) g-g+geom_line() g-g+geom_line(aes(colour=Series),data=fortify(ldata,-1,melt=TRUE) g-g+geom_point(aes(x=Index,y=pdata,3,colour=compare),data=pdata)g-g+scale_x_date(labels=date_format(%Y-%m),breaks=date_breaks(2 months),limits = c(sDate,eDate) g-g+xlab() + ylab(Price)+ggtitle(title) g#定义获取散点数据函数getPoint-function(ldata) data-fortify(ldata) n-nrow(data)data-data.frame(data,compare=vector(length=n) v1-data,2 v2-data,3 dist-(v2-v1)data$comparewhich(dist0)=0)-c(up) pdata-data#运行并获取数据pdata-getPoint(ldata1)p1-drawPoint(ldata1,pdata,title,sDate,eDate)#定义找出交易信号点函数Signal-function(cdata,pdata) n-nrow(pdata) pdata1-data.frame(pdata,Sigs=vector(length=n),comp=vector(length=n),p=vector(length=n) pdata1$compwhich(pdata1$compare=up)-1 pdata1$compwhich(pdata1$compare=down)-0 for(i in 2:(n-1) pdata1$pi-(pdata1$compi-pdata1$compi-1) pdata1$p1-pdata1$p2 pdata1$Sigswhich(pdata1$p0)+10)+1-c(S) temp-pdata1-c(1,which(pdata1$p=0)+1), x-c(4,6,7) Signals-temp,-x#运行并获取数据tdata-Signal(cdata,pdata)#模拟交易#利用交易信号数据,进行模拟交易。设定交易参数,以$10W为本金,满仓买入或卖出,手续为0, #传入交易信号。#参数:交易信号,本金,持仓比例,手续费比例#规定数据格式以及小数点位数options(scipen=4) options(digits=4)#定义模拟交易函数trade-function(tdata,capital) n=nrow(tdata) cash-vector(length=n) amount-vector(length=n) asset-vector(length=n) diff-vector(length=n)t-data.frame(tdata,cash,amount,asset,diff)if(t1,4=S) t1,5-capital else t1,5-(capital%t1,2) if(t1,4=S) t1,6-0 else t1,6-floor(capital/t1,2) t1,7-capital t1,8-0 for(i in 2:n) if(t$Sigsi=B) t$amounti-floor(t$cashi-1/t,2i)+amounti-1 t$cashi-t$cashi-1%t,2i t$asseti-t$amounti*t,2i+t$cashi t$diffi-t$asseti-t$asseti-1 else t$amounti-0 t$cashi-t$amounti-1*t,2i+t$cashi-1 t$asseti-t$cashi t$diffi-t$asseti-t$asseti-1t#定义数据,运行capital=100000 result1-trade(tdata,capital) rise0) fall-length(which(result1$diff0)#画出资金曲线#定义画出股价+现金流量对比函数drawCash-function(result,ldata)n-which(result1$Sigs=S) m-c(1,5) xx-resultn,mcolnames(xx)-c(Time,cash) xx-melt(xx,id=Time)yy-fortify(ldata) k-c(1,2) yy-yy,kcolnames(yy)-c(Time,close) yy-melt(yy,id=Time) zz-rbind(yy,xx) g-ggplot(aes(Time,value),data=zz) g-g+geom_line(aes(group=1,colour=variable) g-g+facet_grid(variable.,scales=free_y)g-g+scale_x_date(labels=date_format(%Y-%m),breaks=date_breaks(2 month),limits=c(sDate,eDate) g-g+xlab()+ylab(Price)+ggtitle(title)g#运行p2-drawCash(result1,ldata1)ggsave(p2,file=paste(close+cash,.png,sep=)#存图#一条均线模型,在大的趋势下是可以稳定赚钱的,但由于一条均线对于波动非常敏感性,#如果小波动过于频繁,不仅会增加交易次数,而且会让模型失效。然后,就有二条均线的#策略模型,可以减低对波动的敏感性。二条均线策略模型,与一条均线模型思路类似,以 #5日均线价格替换股价,是通过5日均线和20日均线交叉来进行信号交易的。#首先画出股价,5日均线和20日均线图。#选择5日和20日滑动平均指标ldata2-ma(cdata,c(5,20)#画图p33-drawLine(ldata2,title,sDate,eDate)#这步是为了将数据框与之前的函数格式对应ldata2-ldata2,c(2,3)#获取散点图pdata2-getPoint(ldata2)#画出散点图p3-drawPoint(ldata2,pdata2,title,sDate,eDate)#找出交易信号tdata2-Signal(cdata,pdata2)#模拟交易result2-trade(tdata2,capital) rise20) fall2-length(which(result2$diff0)#画出股价现金图p4-drawCash(result2,ldata2)附表二:阿里股票数据IndexOpenHighLowCloseVolumeAdjusted2014/9/1992.69999799.69999789.94999793.88999927187940093.8899992014/9/2292.69999792.94999789.589.8899996665780089.8899992014/9/2388.94000290.48000386.62000387.1699983900980087.1699982014/9/2488.47000190.5787.22000190.573208800090.572014/9/2591.08999691.588.588.9199982859800088.9199982014/9/2689.73000390.45999988.66000490.4599991834000090.4599992014/9/2989.62000389.69999788.01999788.752530200088.752014/9/308990.87999788.45999988.8499982441940088.8499982014/10/188.69999788.94000286.04000186.0999982402960086.0999982014/10/286.26999788.19999785.61187.0599982146970087.0599982014/10/388.09999889.94000287.65000288.0999981848570088.0999982014/10/689.15000289.65000288.05999888.309998926840088.3099982014/10/787.94999789.69999787.05999887.6699981279170087.6699982014/10/88888.587.05999888.3000031025260088.3000032014/10/988.51000290.3499988888.7900012150700088.7900012014/10/1088.2588.73999885.23999885.8799971543140085.8799972014/10/1386.84999886.88999984.91999885.1200031484500085.1200032014/10/1485.80999885.87999783.22000184.9499971555920084.9499972014/10/1584.04000186.48999882.80999885.5999981682430085.5999982014/10/1684.98000389.17500384.01499988.8499981523200088.8499982014/10/1790.40000290.90000287.66999887.9100041736070087.9100042014/10/208889.587.86000188.260002989140088.2600022014/10/2189.09999892.588.590.9000022324380090.9000022014/10/2292.2593.591.01000291.6299972031250091.6299972014/10/2392.91999894.69999792.8294.4499972064100094.4499972014/10/2495.079894.77999995.7600023213260095.7600022014/10/279798.84999896.30000397.7900012830240097.7900012014/10/2899.839996100.66999898.61000199.683200360099.682014/10/2999.87999710096.8298.3099982865540098.3099982014/10/3098.48000399.44000297.30000398.7300031548460098.7300032014/10/31100.099998100.22000198.13600298.5999981812830098.5999982014/11/399.669998102.80000399.050003101.80000340883700101.8000032014/11/4100.425003106.35900199.510002106.0767814000106.072014/11/5108.480003110.139999106.480003108.66999848344000108.6699982014/11/6109.300003111.699997107.209999111.5733609000111.572014/11/7112.93114.769997111.75114.55999851457000114.5599982014/11/10117.269997119.449997115.199997119.15000275971000119.1500022014/11/11117.25117.550003113.690002114.54000170983600114.5400012014/11/12115.050003119.07114.019997118.19999753908000118.1999972014/11/13119.300003120114.550003114.83999662163000114.8399962014/11/14115.059998115.389999113.349998115.09999829849000115.0999982014/11/17115.440002115.629997113.129997114.2522573000114.252014/11/18114.330002114.379997110.410004110.80999841098000110.8099982014/11/19109.830002110.68107.220001108.8246841000108.822014/11/20107.809998112.440002107.260002109.8236489000109.822014/11/21113.209999113.5110.434998110.73000327432000110.7300032014/11/24112113.93111.550003113.91999820646000113.9199982014/11/25114.940002115.169998112.330002113.47000123485000113.4700012014/11/26113.330002113.739998112.330002112.66999811794700112.6699982014/11/28113.139999113.230003111.110001111.6399998077800111.6399992014/12/1110.019997110.050003103.896004105.98999838464200105.9899982014/12/2107.349998110106.610001109.88999918651700109.8899992014/12/3110.400002111.68108.797997110.63999916221100110.6399992014/12/4110.099998110.5108.910004109.16999810779300109.1699982014/12/5109.599998110.349998107.760002107.90000212148100107.9000022014/12/8105.970001107.400002104.209999105.0719217300105.072014/12/9102.269997107.949997101.199997107.48000324866800107.4800032014/12/10107.089996107.379997103.510002103.87999718466700103.8799972014/12/11104.440002106.839996104.290001104.97000115684300104.9700012014/12/12104.699997107.449997104.179001105.11000114537600105.1100012014/12/15106.389999107.769997103.699997104.69999716521800104.6999972014/12/16103.75107.68103.699997105.76999721700600105.7699972014/12/17107.110001109.190002106.279999109.01999717311100109.0199972014/12/18110.580002111.199997108.260002109.2522788100109.252014/12/19109.93110.650002108.040001110.65000214857800110.6500022014/12/22110.629997110.980003108.529999108.76999713041200108.7699972014/12/23108.300003108.470001103.879997105.51999719096300105.5199972014/12/24105.68107.209999105.599998105.9499975870400105.9499972014/12/26105.989998106.940002105.5105.9499976529100105.9499972014/12/29105.949997107.660004105.639999105.9800038068600105.9800032014/12/30105.639999106.709999105.129997105.7510205700105.752014/12/31106.459999106.470001103.690002103.94000210283400103.9400022015/1/2104.239998104.720001102.519997103.59999812303400103.5999982015/1/5102.760002103.01999799.900002101183370001012015/1/6101.25103.849998100.110001103.3215720400103.322015/1/7104.589996104.739998102.029999102.12999711052200102.1299972015/1/8102.949997105.339996102.68105.02999912942100105.0299992015/1/9105.239998105.300003102.889999103.01999710222200103.0199972015/1/12103.199997103.360001101.209999101.6200037997200101.6200032015/1/13102.589996102.849998100.010002100.76999711294400100.7699972015/1/1499.279999100.1898.05999899.5800021780800099.5800022015/1/1599.669998100.13999996.01999796.3099981826010096.3099982015/1/1696.08999697.80000395.51999796.8899991332790096.8899992015/1/2098.300003100.20999997.589996100.04000112105600100.0400012015/1/21100.75103.860001100.32103.29000115186900103.2900012015/1/22104.599998104.919998103.099998104114330001042015/1/23104.019997105.199997103.019997103.1100019873800103.1100012015/1/26104.400002105.129997103.330002103.98999810664900103.9899982015/1/27102.889999103.57100.580002102.94000215659900102.9400022015/1/28100.300003101.48999897.79000198.4499974214470098.4499972015/1/2990.52999990.73999887.36000189.8099987656140089.8099982015/1/3089.5999989288.11000189.0800023680690089.0800022015/2/291.12999791.66000488.61000190.1299971886530090.1299972015/2/391.65000291.65000289.90000290.6100011351230090.6100012015/2/490.98999891.87999789.4800039014643600902015/2/589.58000289.83999686.0999988728926200872015/2/687.11000187.40000285.41999885.681758760085.682015/2/985.83000286.7585.4700018612109500862015/2/1087.01000287.47000186.51999787.2600021204330087.2600022015/2/1187.58000287.69999785.828612391900862015/2/1285.59999888.30000385.55000387.0999981517780087.0999982015/2/1388.19999789.30000387.65000289.0500031466520089.0500032015/2/1788.77999988.98999886.69999786.8499981519170086.8499982015/2/1887.09999887.4386.586.739998742230086.7399982015/2/1986.80999887.87000386.70999986.889999760410086.8899992015/2/2087.2587.29000186.37999786.639999782170086.6399992015/2/2386.51000286.6885.2585.470001936790085.4700012015/2/2485.52999985.52999983.87999784.6900021584640084.6900022015/2/2584.37999786.83000284.36000186.1900021364570086.1900022015/2/2686.91999887.16000485.19999785.370003876330085.3700032015/2/2785.94999786.5599988585.120003837720085.1200032015/3/28585.01999783.758411213400842015/3/382.94999783.2580.02999981.5800023924610081.5800022015/3/480.26999785.82599680.16999885.4899983660720085.4899982015/3/585.7586.26999784.01000286.0999981851480086.0999982015/3/685.7399988684.05000384.4000021067370084.4000022015/3/984.34999884.34999881.48000382.5299991761650082.5299992015/3/1081.08999683.15000280.65000282.9700011381700082.9700012015/3/118383.37999781.19000281.9899981276870081.9899982015/3/1282.09999882.90000281.52999981.9199981123200081.9199982015/3/1381.80000381.91999880.76999781.8600011266330081.8600012015/3/1682.01000285.19999781.9400028416905700842015/3/1784.01000285.09999883.51000284.51763900084.52015/3/1883.87000385.94999783.30000384.5899963566300084.5899962015/3/1985.11000187.0400018585.7399983045470085.7399982015/3/2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 周日骑车活动方案
- 国学方面活动方案
- 团体解压活动方案
- 园区业务活动方案
- 品茶大会活动方案
- 呼叫寿司活动方案
- 售前营销活动方案
- 国庆游戏活动策划方案
- 国外消防活动方案
- 国庆灯具活动策划方案
- 2025-2030中国钢制车轮行业竞争格局与盈利前景预测报告
- 供水加压泵站管理制度
- 保险公司保密管理制度
- 2025年执业药师资格证之《西药学专业一》预测试题附答案详解【模拟题】
- 一体化政务大数据体系建设实践指南1.0
- 2025年湖北省高考地理试卷真题(含答案解析)
- 基础写作的试题及答案
- 2025年重庆市中考历史真题(解析版)
- 2025年四川省成都市中考语文真题(原卷版)
- 江苏开放大学2025年春服务营销1单项选择题题库
- 驾驶证a1教育考试试题及答案
评论
0/150
提交评论