2014年10月1日 星期三 晴

写程序对股票数据进行分析,看是否让自己决策交易的,是我n年来的夙愿,说了很多年,但一行代码都没写过。这个国庆打算尝试搞一下,不去做,真的就是空想了。

我没有时间盯盘,所以我只能从历史数据挖掘了,比如从MACD之类的指数,分析出金叉、死叉等情况。看了一下,EMA和MACD都需要历史成交价格的,所以,今天先处理历史成交价格。

历史数据,在网上基本上没有在线有的,我只能处理本地通达信的历史数据。可惜我只有20081202以来的数据,之前的数据都没了,不知道后面是否能计算出EMA和MACD,需要再研究。

以中国人寿(601628)为例,参考代码如下:

[code] #typedef struct #{ //共32字节

int date;//4字节 如20091229

int open;//开盘价

int high;//最高价

int low; //最低价

int close; //收盘价

float amount; //成交额

int vol; //成交量

int reservation; //保留值,有时候是上一交易日的收盘价,有时候保留值

#} StockData;

import struct

def handle1Day(): sh1dayPath = ‘D:\Program Files\new_zszq\vipdoc\sh\lday\’ f601628 = ‘sh601628.day’ with open("%s%s" % (sh1dayPath ,f601628),‘rb’) as f: text = f.read() start = 0 total_length = len(text) while start < total_length: mydate,price_open,high,low,close,amount,vol,reservation = struct.unpack(“lllllfll”,text[start:start+32]) print mydate,price_open,high,low,close,amount,vol,reservation start += 32

def main(): handle1Day()

if name == “main”: main()[/code]