股票形态识别一代
形态识别一代
一、功能简介
二、交互式界面
1、界面介绍
2、具体功能
三、识别算法
1、平滑
2、线性分段
3、计算距离
四、改进
1、提高计算速度
一、功能简介
形态识别一代。主要功能包括:
a、 绘制指定日期下某品种的分时图,该分时图基本与文化财经一致。
b、通过鼠标操作,可以截取任意时间段下的形态。
c、根据截取的形态,自动从历史数据中识别出相似的形态。
二、交互式界面
1、界面介绍
2、具体功能
1 、左边为绘图区:绘制日内分时图,白线指价格,黄色柱线指成交量,通过鼠标操作可以移动绘图区中的蓝线,两蓝线之间代表需要截取的形态。
2 、在右边功能区,各按钮功能。
输入日期:指定日期
绘图:绘制分时图
截取:确定截取两蓝线之间的形态
保存:保存所截取的形态
识别:识别所选取的形态,并保存
三、识别算法
1、平滑
目的是过滤掉时间序列中一些细小的波动,程序中有两种方法供选择,一是加权线性回归,而是多项式拟合。可直接调用,并生成平滑后的曲线,可根据效果修改参数。
a、加权线性回归
2、多项式拟合
2、线性分段
特征提取,提取原序列的特点,并用关键点表示。对需要比对的序列使用相同的方法进行特征提取,比较两个序列的特征是否一致,作为初步筛选条件。
如图:
得到数据:
Index:索引
value: 关键点的值
hl: 高点表示为1,低点表示为2
3、计算距离
计算两个序列间的距离,程序提供了两种方法
a、欧式距离。计算点距离,具体方法不再叙述
b、模式距离。根据线性分段得到的数据,按权重计算两序列的分段斜率差。具体内容请参考资料:<<基于斜率表示的时间序列相似性度量方法>>,<<时间序列的模式距离>>
分段后的两序列,t为索引,k为斜率
进行时间对等处理:
斜率距离:
四、改进
1、提高计算速度
历史数据包含了最近四年的分钟数据,又要在每天循环遍历.双重for循环,计算量大.尤其是用到加权线性回归算法时,复杂度又提升了.考虑使用多线程.