国内的分析软件,很少有讨论节假日的影响和修正。反正我查看了主流的行情软件,没有发现一个软件有的。Matlab有假日函数holidays,但只是针对美国的假日。理论上虽然可以处理各个市场的假日,提供了createholiday函数,用来生成各个市场的假日函数,而且可以生成到指定目录下。这样就可自己指定路径使用,不影响到金融工具箱原来的函数文件。但有一个前题,必须要从FinancialCalendar.com网站获得各个市场的假日数据,可这个网站的数据是要付费的。反正我找了很久也没有找到这个网站深沪两市的假日数据。甚至没有找到其它市场的数据,用来参考文件的格式。
于是我首先自己创建了沪、深两市的假日数据。见前文。然后仔细阅读了createholidays函数的源代码(edit
createholidays就可以阅读了)。发现它不过是从取得的三种假日数据文件(有关createholidays函数及三个文件的情况,另文讨论),来生成新的holidays函数而已,而且只是修改了holidays函数中内含的假日数据而已。由此,可以直接把我生成的假日数据替换掉原来代码中的假日数据就行。这样可以分别对深、沪两市生成各自的holidays函数(本来假日函数就是对各个市场的)。
另外,分析了其它一些日期函数,发现其中都只是调用了holidays函数,所以不用再修改了。
仔细的阅读了一下holidays函数,发现其中的假日由h变量来定义,其列表如下:
h = [ ...
688484 ; ... % 01-Jan-1885 New Year's Day
(Thu)
688537 ; ... % 23-Feb-1885 Monday after
Washington