网上找了挺久的没有比较好的python的季节调整的包,决定动手解决下这个问题,实现思路主要是通过程序调用x12a.exe和x13as.exe文件实现。
x12a以及x13as的调用主要需要两个文件,一个是.spc的参数配置文件以及.DAT的数据文件,.DAT的结构相对比较简单,就是日期列和数据列。.spc的参数相比较难。目前有两种路径可以解决这个问题:
1.有耐心的话可以查看eviews的使用手册,该使用手册在eviews安装路径下的docs文件夹,里面有对于x12a以及x13as的参数配置的详细信息。
2.eviews软件进行季调计算的时候,会生成.spc的临时文件,也就是可以通过鼠标在eviews界面选择好季调参数,点击运行之后,会在本地C盘的用户文件夹的/appdata/ev_temp文件夹下,产生.spc临时文件,直接可以根据该.spc来看出参数的配置情况。(比较推荐用这种方法,比较简单直接)
接下来的问题就是使用python,将数据写入.DAT文件以及将配置信息写入.spc文件,之后再subprocess.Popen方法调用cmd执行x12a.exe文件或者x13as.exe文件。当然也可以尝试其他调用cmd的方法,本人也尝试了一些,还是以上的方法比较好用点。
以上就是python调用x12a或者x13as的思路和方法,本人写了python调用x12以及x13as的demo,只实现了最简单的季调功能,更复杂的功能可以自行通过前文提到的两种方法去配置更复杂的参数信息来实现,获取源码关注【量化杂货铺】wx公众号回复【季调】即可获取。