python爬股票历史价格_【Python】利用ricequant获取上证指数以及所有股票历史价格数据...

1、准备工作

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

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

20170809151944459

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

20170809152413274

结果格式如下:

20170809152502061

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值