全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1082 1
2016-10-09
作业:整理股票数据该部分每个同学需要单独完成,但允许同学之间讨论最优解决方案。提交电子版到助教邮箱,限提交一个pdf文档,以类似于 41430000-张三.pdf 的格式命名,其它文件命名方式视为无效,A4纸张大小,内容主体使用五号字,单倍行距, 包含封面不超过12页(不接受word或其他格式,一般word可以通过save as pdf转换,或打印成pdf格式,只需要纯R代码(代码简洁高效为佳)和图片(图片准确美观为佳),不需要提交原始数据或中间过程文件。 评分高的作业满足代码简洁、字体恰当、注释清晰、绘图漂亮,排版状况至少占本次作业成绩的30%)。
  • 下载2014年沪深股市行情数据。解压后文件夹有多个文件,比如文件SZ000001.txt存储的是代码000001.SZ(即平安银行)的行情数据,具体代码对应的股票名称见表格("另存为"可下载然后使用R的程序包读取,或经Excel表格转化为csv或txt的表格数据)。说明:每个txt文件包含8列数据,分别是股票代码(Code)、日期(Date)、时间(Time)、开票价(Open,价格均为后复权价)、最低价(Low)、最高价(High)、收盘价(Close)、成交额(Amount)。
  • 随机选取流通的股票,将它们的收盘价和交易量分别放入一个表格中(以txt或csv格式存储)。具体来讲,假设有10只股票,那么表格A应该包含11列数据, 第1列是Time,第2-11列(分别以10只股票代码为列名)是Close数值,缺失值以NA代替。表格B与表格A类似,但存储Amount数值,缺失值以0填充。提示:建议使用data.table包中的fread()、rbindlist()、dcast()等函数,可以参考如下代码
    read1File=function(f){  x=read.table(f,...)  x[,c("Time","Code","Close","Amount")]}dt=lapply(myfiles2read,read1File) dt=rbindlist(dt)  ......
  • 从5分钟K线数值计算出上面每只股票的1小时、1日、5日、10日均线,即每一个时间点之前(包含该时间点,且这里的1小时、1日等时间概念是指交易时间)的收盘价均线。分别存储在4个表格中。然后任意选取1只股票,在一张图上绘制该股票的各个均线。推荐使用 lattice,ggplot2等专业绘图程序包。图片将可能在课堂上展示,其准确、美观、清晰程度将决定得分高低。提示:应该尽量避免不必要的循环结构,否则程序效率会很低。R中有很多已有的函数可以直接计算移动平均,请自行搜索ma(),runmeans(),roolmean()等函数的程序包和用法,比如如下代码:
    apply(x,2,runmeans,...)
  • 从所给表格中选取5个有代表性的行业,编制行业指数。具体的,每个行业指数从100为起始值,以公司流通市值为权重,得到该行业股票收益曲线的加权平均值。编制的行业指数存入同一个表格。然后将五个行业指数绘制到同一张图上,以便于展示不同行业的强弱变化。
  • 回测均线策略。中国的A股市场是T+1的交易规则,即今天买的股票不能在当天卖掉,但我们假设不存在这种限制,而允许股票可以在买入后随时买卖,即采取T+0的交易方式,也不考虑印花税及交易佣金。任意选取一只股票,计算其每分钟的1日及5日均线,不妨记为MA1和MA5,若MA1从下方向上突破MA5(即开始时MA1小于MA5,然后变成MA1大于MA5。注意:若年初MA1大于MA5,则在第一个卖出信号到来时无法卖出股票)则用所有现金(初始现金为1元)买入该股票,若MA1从上方向下突破MA5,则将所有该股票卖出得到现金,计算该投资策略一年的收益率,绘制其资本曲线变化状况。改变两条均线的周期得到另外4个均线策略,将5条资金曲线绘制在一个图中。另选5只股票,重做该均线策略。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-10-9 10:21:30
你可以看一下《R语言的极客理想——高级开发篇》,里面有讲其中的一些内容。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群