从0学习量化的基础知识股票数据
-
初学者学习量化,需要了解股票的数据,一般量化数据都是基于日K,OHLC,其全称是下面这些单词的组合。. open. high. low. close.
开盘价,最高价,最低价,收盘价。业界都是以close收盘价代表一天的价格。A股也是基于收盘价决定第二天的最高价和最低价,一般是10%的涨幅。
那么如何获取一只股票的K线呢?网上有很多工具 https://klang.org.cn/docs/stockdata/
这里也有说明。今天给大家介绍一个最简单的方法:https://klang.org.cn/stockdata.zip
这个文件每天更新4,5次。 最好是每天下午4,5点钟下载,就可以获取 4000多只A股200天的日K。
文件大小大约25M。展开后是 ~/.klang_stock_trader.json 文件。用 json工具就可以加载使用。
-
如何读取 下载的文件?
f = open(filename_jsont) while True: content = f.readline() if len(content) < 8: break stock = json.loads(content[:-1]) code = stock[0] name = stock[1] jsondata = stock[2] print('正在获取',name,'代码',code) df = pd.json_normalize(jsondata) if len(df) > 2: df['datetime'] = df['date'] df = df.set_index('date') f.close()
这段代码就是展示了按照每行读取一只股票数据。
用pandas 转换成df -
上面介绍的是第一种方法。其实还可以用Klang库来操作。具体步骤如下:
下载 Klang 并使用Klang来获取数据
git clone https://github.com/asmcos/Klang cd Klang pip3 install -r requirements.txt python3 setup.py install
第二步、下载数据
4000只股票,200天的日K,大约25M。正常网速3分钟左右。
python3 tools/download.py
如果遇到talib安装问题,请参考:
安装过程中可能会遇到 TA-Lib 库问题。Windows 用户可以参考这篇文章 Klang安装使用文档(Windows)https://forum.klang.org.cn/topic/30/klang安装使用文档-windows/2
Linux用户 可以这样试试
$ wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz #下载 $ tar -xvf ta-lib-0.4.0-src.tar.gz # 解压 $ cd ta-lib # 进入目录 $ ./configure --prefix=/usr $ make $ make install