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即可。结果会生成在和代码相同的页面。
结果格式如下: