[Python]利用ricequant获取上证指数以及所有股票历史价格数据

1、准备工作

网址:https://www.ricequant.com

点击“研究”,点击右上方的“新建”,选择Python3.



2、代码

1)获取所有股票从起始记录时间至今的全部价格数据。详细api可以参考:https://www.ricequant.com/api/research/chn

#ClosingPx
import pandas as pd
datas = all_instruments(type='CS', country='cn')
list = datas['order_book_id'].tolist()
df1 = pd.DataFrame(columns = list)
df1.loc[0] = datas['symbol'].tolist()
df2 = pd.DataFrame(columns = list)
for id in list:
    df2[id] = get_price(id,start_date='2013-01-04', end_date='2017-08-09', adjust_type='none')['ClosingPx']
frames = [df1, df2]
result = pd.concat(frames)
result.to_csv('stoneClosingPx_0809.csv') 

#PreClosingPx
import pandas as pd
datas = all_instruments(type='CS', country='cn')
list = datas['order_book_id'].tolist()
df1 = pd.DataFrame(columns = list)
df1.loc[0] = datas['symbol'].tolist()
df2 = pd.DataFrame(columns = list)
for id in list:
    df2[id] = get_price(id,start_date='2013-01-04', end_date='2017-08-09', adjust_type='pre')['ClosingPx']
frames = [df1, df2]
result = pd.concat(frames)
result.to_csv('stonePreClosingPx_0809.csv') 

#OpeningPx
import pandas as pd
datas = all_instruments(type='CS', country='cn')
list = datas['order_book_id'].tolist()
df1 = pd.DataFrame(columns = list)
df1.loc[0] = datas['symbol'].tolist()
df2 = pd.DataFrame(columns = list)
for id in list:
    df2[id] = get_price(id, start_date='2013-01-04', end_date='2017-08-09', adjust_type='none')['OpeningPx']
frames = [df1, df2]
result = pd.concat(frames)
result.to_csv('stoneOpeningPx_0809.csv') 

#HighPx
import pandas as pd
datas = all_instruments(type='CS', country='cn')
list = datas['order_book_id'].tolist()
df1 = pd.DataFrame(columns = list)
df1.loc[0] = datas['symbol'].tolist()
df2 = pd.DataFrame(columns = list)
for id in list:
    df2[id] = get_price(id, start_date='2013-01-04', end_date='2017-08-09', adjust_type='none')['HighPx']
frames = [df1, df2]
result = pd.concat(frames)
result.to_csv('stoneHighPx_0809.csv') 

#LowPx
import pandas as pd
datas = all_instruments(type='CS', country='cn')
list = datas['order_book_id'].tolist()
df1 = pd.DataFrame(columns = list)
df1.loc[0] = datas['symbol'].tolist()
df2 = pd.DataFrame(columns = list)
for id in list:
    df2[id] = get_price(id,start_date='2013-01-04', end_date='2016-12-28', adjust_type='none')['LowPx']
frames = [df1, df2]
result = pd.concat(frames)
result.to_csv('stoneLowPx_0809.csv') 


2)获取上证指数

#shanghai
import pandas as pd
df1 = pd.DataFrame(columns = ['000001.XSHG'])
df1.loc[0] = '上证指数'
df2 = pd.DataFrame(columns = ['000001.XSHG'])
df2['000001.XSHG'] = get_price('000001.XSHG', start_date='2013-01-04', end_date='2017-08-09', adjust_type='none')['HighPx']
frames = [df1, df2]
result = pd.concat(frames)
result.to_csv('shanghaiHighPx_0809.csv') 

import pandas as pd
df1 = pd.DataFrame(columns = ['000001.XSHG'])
df1.loc[0] = '上证指数'
df2 = pd.DataFrame(columns = ['000001.XSHG'])
df2['000001.XSHG'] = get_price('000001.XSHG', start_date='2013-01-04', end_date='2017-08-09', adjust_type='none')['LowPx']
frames = [df1, df2]
result = pd.concat(frames)
result.to_csv('shanghaiLowPx_0809.csv') 

import pandas as pd
df1 = pd.DataFrame(columns = ['000001.XSHG'])
df1.loc[0] = '上证指数'
df2 = pd.DataFrame(columns = ['000001.XSHG'])
df2['000001.XSHG'] = get_price('000001.XSHG', start_date='2013-01-04', end_date='2017-08-09', adjust_type='none')['ClosingPx']
frames = [df1, df2]
result = pd.concat(frames)
result.to_csv('shanghaiClosingPx_0809.csv') 

import pandas as pd
df1 = pd.DataFrame(columns = ['000001.XSHG'])
df1.loc[0] = '上证指数'
df2 = pd.DataFrame(columns = ['000001.XSHG'])
df2['000001.XSHG'] = get_price('000001.XSHG', start_date='2013-01-04', end_date='2017-08-09', adjust_type='pre')['ClosingPx']
frames = [df1, df2]
result = pd.concat(frames)
result.to_csv('shanghaiPreClosingPx_0809.csv') 

import pandas as pd
df1 = pd.DataFrame(columns = ['000001.XSHG'])
df1.loc[0] = '上证指数'
df2 = pd.DataFrame(columns = ['000001.XSHG'])
df2['000001.XSHG'] = get_price('000001.XSHG', start_date='2013-01-04', end_date='2017-08-09', adjust_type='none')['OpeningPx']
frames = [df1, df2]
result = pd.concat(frames)
result.to_csv('shanghaiOpeningPx_0809.csv') 

3、运行

选中所有代码,同时按住ctrl+enter即可。结果会生成在和代码相同的页面。


结果格式如下:


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值