自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 量化投资从0开始系列 ---- 15. 郑商所日统计数据

前面已经提取了其它期货交易所的数据,最后还剩下郑商所。相比而言,郑商所的数据获取比其它几个交易所更麻烦一点。因为郑商所的系统接口有两个,在2015年11月11日前后发生了切换,这个日期之前是老系统的api接口,这个日期之后是一个新的api接口。具体的地址在哪里,还是依靠在浏览器中按F12来确定,最后发现的地址是: if trade_date > '20151111': czce_url = f'http://www.czce.com.cn/cn/DFSS

2021-08-29 14:31:09 1123 5

原创 量化投资从0开始系列 ---- 14. 中金所日统计数据

跟之前提到的其它交易所数据提取方式相似,首先在浏览器里按F12,提取访问API的地址和数据格式。可以看到中国金融期货交易所的api地址是:GET http://www.cffex.com.cn/sj/hqsj/rtj/202108/27/index.xml数据格式是xml的,数据片段如下:<dailydatas> <dailydata> <instrumentid>IC2109</instrumentid>

2021-08-29 14:05:52 344

原创 量化投资从0开始系列 ---- 13. 大商所日统计数据

前文说了上海期货交易所的数据是json格式,非常容易用程序解析。这里再看看大连商品交易所的实现方式。还是按F12先从浏览器查看网络请求,大商所的页面采用的传统ajax方式,返回的是一个html子页面,然后客户端做局部刷新。请求地址是:POST http://www.dce.com.cn/publicweb/quotesdata/dayQuotesCh.htmlhtml的解析相对而言是实现最繁琐且执行效率最低的方式,应该尽量避免。进一步观察发现系统还提供了一个导出文本的接口,回应中包含的数据

2021-08-26 13:48:28 723 3

原创 量化投资从0开始系列 ---- 12. 上期所日统计数据

国内目前5家期货交易所都在官网公开了各自期货品种的历史数据。从技术上,它们各自的实现方式都不相同。在抓取数据的时候,会用到解析json,解析xml,解析html和解析tsv这几种不同的方式。爬取这几家的数据对于学习网络爬虫特别是数据解析方法是一个很好的练习题目。这里先从上海期货交易所日统计数据开始。在浏览器按F12能看到,上海期货交易所的数据获取接口是:GET http://www.shfe.com.cn/data/dailydata/kx/kx20210826.dat返回的数据格式是json

2021-08-26 12:28:57 603 1

原创 A*算法解决翻箱问题 ---- 性能优化

这篇是https://blog.csdn.net/kengxie/article/details/119257159后继,需要先看看之前的文章才明白这里讨论解决的问题。用A*算法解决翻箱问题的时候,性能是个特别大的问题,如果按之前的方式实现,直接用list保存open list和close list,遇到类似下面这样极端的情况,半个小时都跑不出结果。 0 0 0 0 9 10 11 12 5 6 7 8 1 2

2021-08-03 15:44:45 1315 1

原创 用A*算法解决翻箱问题

看到问答区有个问题:集装箱码头在堆场任务过程中(装船或提箱)存在翻箱任务,原因是由于要求的发箱顺序和码头堆放的次序不符合,如图所示,其中数字代表发箱顺序(数字越小越早发箱,可以有重复),S代表堆放的排数量(<=6),T代表堆放的高度上限(考虑堆场机任务业能力等因素,<=5),最小预翻箱问题就是,通过一系列的尽可能少的翻箱动作(如(2,2)→(4,4),(3,1)→(3,2)),把堆场倍位初始状态数字小的箱子都翻上来,避免实际任务(装船或提箱)时由于翻箱造成的任务效率损失。设计和实现最小预翻.

2021-07-30 23:03:12 3766 6

原创 量化投资从0开始系列 ---- 11. 找出近期波动加剧的股票

找出现在市场上有哪些股票近期的波动突然加剧,看看有没有检漏的机会。具体采用的方式是比较收盘价的年/月/周标准差,将周/月标准差大于年标准差的股票筛选出来。首先把退市或者停牌的去除掉,ST的也不考虑,sql查询的时候就可以完成这一过滤:stock_basic_list = pd.read_sql_query( f"select ts_code from stock_basic where list_status = 'L' and name not like '%%ST%%' and lis

2021-07-29 16:18:57 224 2

原创 量化投资从0开始系列 ---- 10. 统计分析

根据申万分类和日K线的数据,分组统计近期每天资金交易量最大的10个分类。在数据库里把交易量和交易金额的合计先算一下,做成view:CREATE VIEW `view_sw_industry_amount` AS SELECT `d`.`trade_date` AS `trade_date`, `c`.`sw1` AS `sw1`, `c`.`sw2` AS `sw2`, `c`.`sw3` AS `sw3`,

2021-07-21 19:12:44 205 1

原创 pandas dataframe 备忘录

查询api说明:help(pd.Series.loc)创建dataframe并用部分或者全部数据填充:data = {'Country': ['Belgium', 'India', 'Brazil'], 'Capital': ['Brussels', 'New Delhi', 'Brasilia'], 'Population': [11190846, 1303171035, 207847528]}df = pd.DataFrame(data,co.

2021-07-14 16:23:36 84

转载 量化投资交易资源汇总

————————————————版权声明:本文为CSDN博主「南山二毛」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_16481211/article/details/117636160

2021-07-12 20:32:34 477

原创 量化投资从0开始系列 ---- 9. 网络爬虫

Tushare的申万行业分类接口需要2000分才能调用,分不够怎么办?自己写个爬虫吧。网上搜了一下,找到一个有对应数据的财经网站,就从这里爬取吧。先随便点一下翻页按钮,可以看出网页每次都有部分刷新,说明是ajax方式请求数据。按F12打开firefox浏览器的调试窗口,在“网络”页面上,查看XHR类型的请求。按数据大小排序:可以看到最上面两个请求的响应中都包含了期望的数据:仔细观察不难发现,第一个请求是第一次渲染表格时的后台请求,第二个请求是翻页时的后台请求。比较一下两个请求

2021-07-05 19:41:16 379 4

原创 量化投资从0开始系列 ---- 8. 量化回归

数据用已经保存在数据库的日K线数据:def prepare(): df_daily = pd.read_sql_query( "SELECT * FROM tushare.view_qfq where ts_code='000001.SZ' and trade_date >= '20010101' order by trade_date", engine_ts) df_daily.index = pd.to_datetime(df_daily['

2021-07-01 19:02:45 333

原创 OneNote手写输入数学公式

偶然发现OneNote有个Ink to Math的功能,可以帮助手写数学公式,确实很方便,记录一下。如果有部分识别不对,可以选择’select and correct’,完成后点击insert。效果如下图:

2021-06-25 22:40:22 1852

原创 pycharm在ubuntu中不能输入中文的问题

网上很多说改pycharm.sh的,这个方法在新版本中不起作用,反复验证后发现问题跟jbr相关。打开pycharm安装目录下的这个文件可见具体版本号: jbr/release 。我本地是:IMPLEMENTOR_VERSION="JBR-11.0.11.9-1341.57-dcevm",这个版本无法输入中文。只有把jbr的版本回退到11.0.7,中文输入才恢复正常了。修改方法如下:下载解压 jbr 11.0.7:https://confluence.jetbrains.c

2021-06-24 17:04:28 215 1

原创 量化投资从0开始系列 ---- 7. 可视化

图形能帮助我们更直观的观察数据的变化。选BOLL和MACD这两个经典的指标绘制一下。前面已经把日k线和复权因子的数据都保存到本地数据库了,这里就直接从数据库取出来用。因为数据库保存的是未复权的价格,建一个view把前复权的价格算出来。CREATE ALGORITHM = UNDEFINED DEFINER = `tushare`@`localhost` SQL SECURITY DEFINERVIEW `view_qfq` AS SELECT

2021-06-24 15:00:52 403 2

原创 量化投资从0开始系列 ---- 6. 定时执行

股市数据每天都在产生,当然就需要每天都进行更新。执行crontab -e添加一个每天晚上18:58定期执行的任务:58 18 * * * ~/sandbox/tushare_daily.sh 1>>~/sandbox/tushare.log 2>>~/sandbox/tushare.log日志就偷个懒,直接把控制台的输出重定向到文件。暂时先这样用着。因为工程是用conda管理的,bash脚本也用conda来管理环境。首先初始化conda本身,然后activate

2021-06-22 15:53:45 97

原创 量化投资从0开始系列 ---- 5. 多线程和流量限制

根据官方文档的说明https://waditu.com/document/2?doc_id=27,获取日线行情有两种方式,一种是遍历股票代码,另一种是遍历交易日期。理论上讲,取得全量数据的时候遍历股票代码会更快,因为目前股票总数是4493,而交易日期已经有7450,遍历股票代码的循环次数会更少。但是因为我的积分太低,每次返回的数据上限是5000条,那么上市时间长的股票就需要查询两次。况且取增量数据的时候,肯定是按日期更好实现,所以最后决定还是就按交易日期的方式实现。按目前的积分,tushare允许每分钟

2021-06-22 15:24:11 623

原创 量化投资从0开始系列 ---- 4. 有时间戳的数据类型

取得了股票列表,再取一个交易日历。同样从base类继承,然后实现_full和_delta两个方法。查看官方文档https://waditu.com/document/2?doc_id=26,发现这个api是按照交易所对数据进行分类的,目前先取得沪深两市的数据就够了。获取全量数据的时候,还是跟获取股票列表一样的思路,多次调用api,然后本地合并。 def _full(self, **kwargs): df_sse = pro.trade_cal(exchange='SS

2021-06-22 14:16:28 207 4

原创 量化投资从0开始系列 ---- 3. 无时间戳的数据类型

在父类AbstractDataRetriever的基础上(见https://blog.csdn.net/kengxie/article/details/118086422),去获取tushare的数据就很简单了。实际需要实现的就是_full和_delta这两个抽象方法。它们的返回值都应该是dataframe,然后框架会把dataframe按append的方式写入数据库。class StockBasic(AbstractDataRetriever): def __init__(self):

2021-06-22 13:59:58 215

原创 量化投资从0开始系列 ---- 2. 获取数据的基础架构

环境搭建完成后 https://blog.csdn.net/kengxie/article/details/118084858,接着把沪深两市所有的股票基本信息获取到本地。

2021-06-21 15:43:36 291 3

原创 量化投资从0开始系列 ---- 1. 环境搭建篇

最近比较闲,决定自学一下量化投资的知识。本系列为个人学习记录。废话不多说,直接进入真题首先第一步是解决数据来源的问题,

2021-06-21 14:33:05 418

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除