大宗商品现货数据不好拿?商品季节性难跟踪?技术宅带你Python爬虫一键解决没烦恼

    科技2022-07-11  91

    数量技术宅团队在学院推出了量化投资系列课程

    欢迎有兴趣系统学习量化投资的同学,点击下方链接报名:

    量化投资速成营(入门课程)

    Python股票量化投资

    Python期货量化投资

    Python数字货币量化投资

    C++语言CTP期货交易系统开发

    数字货币JavaScript语言量化交易系统开发


    更多精彩内容,欢迎关注公众号:数量技术宅。探讨数据分析、量化投资问题,请加技术宅微信:sljsz01

    季节性在大宗商品的交易中至关重要

    大宗商品交易中,特别是在期货市场,由于商品价格周期的存在,季节性作为一种确定性相对较高的周期波动,对于某些品种,比如农产品,季节性对于行情的影响有时候是决定性的。我们在做交易决策的时候,必须要把季节性考虑在内。那么,如何把握一个品种的季节性,如何了解一个品种季节性走势规律呢?就要从数据当中寻找答案。

    保存原始数据

    我们的数据来源选自生意社,这个网站上面有着很多大宗商品品种和口径一致的高质量现货报价。我们的爬虫需要想办法从网站上把原始数据爬下来。

    第一步、导入需要的包

    第二步、设定基础变量,爬虫开始运作

     

    第三步、获得数据之后,将数据保存到本地

    我们看到,数据正一点一点收取下来,整个过程程序都是自动运行的,这个时候你就可以泡一杯咖啡,喝口茶,等待数据收取完毕。

     

    数据“整形”

    在保存好了原始数据之后,我们需要对数据进行“整形”,使我们更加方便对原始数据进行分析。

    为了直观体现季节性的走势,我们对于历年现货数据进行了平均化,从而得到了每个品种的季节性指数。

    作图的原理也不复杂,总览图采用subplots函数,框定了7行8列的图片框架。

    数据可视化

    通过平铺的方式,我们直观展现出了品种的季节性。基于现货数据的季节性指数由于和期货市场是两个维度,因此相对而言更加具备参考价值。

    我们来看几组数据的比较:

    同为金属板块的锡和镍有着相仿的季节性,都是在2月进入季节性高点,同时整体走势偏弱。

    对比一下同为畜牧产品的生猪和鸡蛋,我们也能发现它们具备类似的季节性特征,即8月9月明显呈现季节性旺季,主要是由于国庆中秋双节带动消费的效应。

    我们再看看动力煤和铁矿石,8月,作为铁矿石的季节性旺季,同时也是动力煤的季节性低点。

    对比一下化工的PTA、PVC季节性对比,可以发现两者走势整体上比较一致,但PTA季节性波动更大。

    我们再来看看同为能源品的柴油和汽油的对比,很明显,两者季节性相关度很高,都是7月低点,10月高点。

    小结

    这样的图我们还可以做出很多,有了从数据抓取到可视化的程序化处理之后,可以持续地对数据进行跟踪,方便动态地进行更新。当然了,如果需要更多品种合并到一张图中,也是可以非常方便地完成,只需要选择更多的品种序列加入到作图的数据中就可以了。

    如果对本次技术宅分享的Python爬虫代码感兴趣,欢迎加小编微信(sljsz01)领取


    往期干货分享推荐阅读

    【数量技术宅|金融数据分析系列分享】如何正确抄底商品期货、大宗商品

    【数量技术宅|量化投资策略系列分享】股指期货IF分钟波动率统计策略

    【数量技术宅 | Python爬虫系列分享】实时监控股市重大公告的Python爬虫

    Processed: 0.009, SQL: 8