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]
...