正确处理数据源的方法是整合多个database的数据,比较以后整合数据或者舍弃异常数据。我做过S&P500的数据,用了4个database的数据,database和database之间还是会有差异。好的database基本上都不是免费的(尤其国内),可以看看当地图书馆有没有提供免费的database stream接入。个人看来所有的免费数据源里面,yahoo的数据相对算准确的了。可以尝试抓取多个免费的数据源进行比较降低误差,就像database一样,但是意义其实并不大。
另外不是来泼冷水的,假如我们抓一只大猩猩随机抽股票进行交易操作,与最终软件产品进行对比,结果可能是软件产品的表现不会明显好于大猩猩。主要原因大概可以归结为三点:
1. 楼主可以随便找几个教Finance的professor问一下,我身边的professor多数不相信技术分析的。对此有个非常简单易懂的假说可以参考Random Walk Hypothesis [
http://en.wikipedia.org/wiki/Random_walk_hypothesis],这个假说源自Burton Gordon Malkiel的一本书:A Random Walk Down Wall Street。这本书很棒,身边看完的人多数对技术分析死心了,一些例子用的都很漂亮。
2. 另外有个比较常见的假说是Efficient-market hypothesis [
http://en.wikipedia.org/wiki/Efficient-market_hypothesis],大致说的是一个Efficient-market信息流通情况对股票价格的影响,其中Weak-form efficiency认为历史价格所包含的信息已经完全反应在了价格上,因此技术分析无效。但是实际运作当中,市场信息在一定时间范围内是不对称的,这里就会有套利机会,但这个也不是完全能用技术分析分析出来的。
3. 不妨假设软件运行准确率99%+,那用户肯定不会少,假设80%的散户都在用这个软件,结果就是实际市场方向会倒向原来预测方向的反方向 [Fat Finger Effect]。而且这个效应是没办法衡量的,因为用户是否采信软件预测结果进行交易是未知事件。
真正有可能通过分析进行获得的模式应该是fundamental analysis,利用一定方法去寻找被低估的股票进行投资;或者是HFT,寻找一些存在时间很短的套利机会。第一种迄今为止很难做到,因为这种股票很难定位,没有特别好的算法去寻找这种股票,楼主可以看看有没有什么特别好的算法去寻找这些股票;第二种,国内个人用户不现实。综上,这个软件很难做成。
没去华尔街实习过,但是比较肯定的认为在没有消息源或者时光机的情况下要准确预测价格的实际可能性基本为0。好的投资心态、投资策略和信息关注度要远远比历史信息重要的多。