2019-02-18
阅读量:
1264
如何搭建自己的量化交易系统?
问题:想要搭建自己的一套量化交易系统
解决方案:
- 学术化的研究工作,例如金融时间序列分析,这一块研究主要集中在各种金融产品的交易数据上,例如股票、期货、期权的价格,基金净值等等;
- 构建交易策略或投资组合,这一块研究需要交易数据、宏观经济指标和公司财务数据等等;
- 策略回测,这一块研究需要大量历史交易数据,用来测试评估交易策略和投资组合。
首先来到上交所和深交所的网站,目的是找到股票代码和指数代码列表。深交所以文件下载的方式提供股票和指数代码(业界良心),上交所则是以网页形式提供。
通过上面的文章,数据源已经基本确定了,接下来就要“修渠引水,汇入水库”。水库的话,就选择最常用的数据库MySQL;水渠的话,这里用R语言
首先,到交易所网站手工收集整理A股的股票代码和指数代码列表,分别保存在文件SH.A.list.txt、SH.IDX.list.txt、SS.A.list.txt、SS.IDX.list.txt中。用R函数readLines读取称为相应的字符串向量,接着构造“市场代码向量”用来标识股票和指数对应的市场,沪市记为0深市记为1,将这些向量组合成数据框(data.frame,R中常用的数据结构,类似excel表格)A.list和IDX.list。
第二步,找到包含所需信息的网页,解析网页链接的模式。
以平安银行为例,现在想要获得股票的首次上市日。网易平安银行的网页链接是http://quotes.money.163.com/1000001.html,1000001中开头的1是市场代码,000001是股票代码。在Chrome中打开网页,按F12打开网页分析工具,找到“首次上市”节点,右键复制XPath,即“/html/body/div[2]/div[22]/div[2]/p[9]”。
# 加载xml2和stringr包
library(xml2)
library(stringr)
# 链接
url <- "http://quotes.money.163.com/1000001.html"
# 读取网页
html <- read_html(url)
# XPath
path <- "/html/body/div[2]/div[22]/div[2]/p[9]"
# 找到“首次上市”节点
date <- xml_find_all(html,
xpath = path)
# 转化成文本
date <- xml_text(date)
date
# 如果乱码,修改编码
Encoding(date) <- "UTF-8"
date
# 用正则表达式提取日期
date <- str_extract(date,
"[0-9]{4}-[0-9]{2}-[0-9]{2}")
date






评论(0)


暂无数据