楼主: wqf_cufe
18831 13

[有偿编程] 100银子求助如何遍历读取TuShare的分笔股票数据 [推广有奖]

  • 4关注
  • 16粉丝

已卖:4079份资源

教授

89%

还不是VIP/贵宾

-

威望
0
论坛币
4283 个
通用积分
6.5000
学术水平
10 点
热心指数
17 点
信用等级
13 点
经验
565 点
帖子
730
精华
0
在线时间
2236 小时
注册时间
2009-5-26
最后登录
2021-12-29

楼主
wqf_cufe 发表于 2015-3-2 09:46:47 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
发到Python版里没人回复,想必会R的高手也精通python,所以再发一次原帖求助。

大家好,最近对历史分笔数据很感兴趣,想用TuShare这个免费的数据资源平台做一个预警程序。

数据网站:http://pythonhosted.org/tushare/#id9

这个网站可以取到任意一只股票任意一天的历史分笔数据。但是好像不能选取某一只股票任意一段时间内的数据。也不能读取全市场所有股票在某一天的分笔数据。

现在想请教高手,如何用Python写一个程序,可以遍历市场当日所有股票的分笔数据,发现其中某笔交易的数字(这里指的是Volume)是1234手或者888手。然后print出来这只股票的代码和交易时间。

这里的代码很简单,是Tushare网站的样例。

import tushare as ts

df = ts.get_tick_data('600848','2014-01-09')
df.head(10)

     time       price change  volume  amount  type0    15:00:00   6.05     --       8    4840   卖盘1    14:59:55   6.05     --      50   30250   卖盘2    14:59:35   6.05     --      20   12100   卖盘3    14:59:30   6.05  -0.01     165   99825   卖盘4    14:59:20   6.06   0.01       4    2424   买盘5    14:59:05   6.05  -0.01       2    1210   卖盘6    14:58:55   6.06     --       4    2424   买盘7    14:58:45   6.06     --       2    1212   买盘8    14:58:35   6.06   0.01       2    1212   买盘9    14:58:25   6.05  -0.01      20   12100   卖盘10   14:58:05   6.06     --       5    3030   买盘
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:share 股票数据 USHA ARE python python 如何

沙发
daishen 发表于 2015-3-2 12:39:54
> mydata = filter(dat,volume >= 50)[c(1,4)]
> mydata$symbol = rep(600846,nrow(mydata))
> mydata
      time volume symbol
1 14:59:55     50 600846
2 14:59:30    165 600846

藤椅
wqf_cufe 发表于 2015-3-2 13:22:59
daishen 发表于 2015-3-2 12:39
> mydata = filter(dat,volume >= 50)[c(1,4)]
> mydata$symbol = rep(600846,nrow(mydata))
> mydata
您这个是R,我用的是Python.

板凳
faruto 发表于 2015-3-13 15:21:36
try this

FQuantToolBox版本更新V1.2-基于MATLAB的量化数据回测工具箱 by faruto
http://www.matlabsky.com/thread-45769-1-1.html

报纸
fxll 发表于 2015-3-20 14:46:10
解决办法:
先取当日的所有交易股票:df = ts.get_today_all()
然后循环一下:
for symbol in df['code']:
      tick = ts.get_tick_data(symbol)

这个tick就是你要保存的数据了,不知道能不能帮上你。
已有 3 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
ryoeng + 1 热心帮助其他会员
wqf_cufe + 5 + 5 + 5 + 5 精彩帖子
admin_kefu + 20 热心帮助其他会员

总评分: 论坛币 + 25  学术水平 + 5  热心指数 + 6  信用等级 + 5   查看全部评分

地板
wqf_cufe 发表于 2015-3-21 00:06:37
fxll 发表于 2015-3-20 14:46
解决办法:
先取当日的所有交易股票:df = ts.get_today_all()
然后循环一下:
谢谢!!请问,如果我想取某10天的分笔数据,然后merge到一个dataframe里面,其中第一列显示日期,如何写一个code能够循环取值呢?

例如,2015-02-01到2015-02-11这十天的分笔数据。

7
fxll 发表于 2015-3-21 15:19:11
wqf_cufe 发表于 2015-3-21 00:06
谢谢!!请问,如果我想取某10天的分笔数据,然后merge到一个dataframe里面,其中第一列显示日期,如何写 ...
dr = pd.period_range('2015-02-01','2015-02-11',freq='B')

for d in dr:

8
fxll 发表于 2015-3-21 15:19:11
wqf_cufe 发表于 2015-3-21 00:06
谢谢!!请问,如果我想取某10天的分笔数据,然后merge到一个dataframe里面,其中第一列显示日期,如何写 ...
dr = pd.period_range('2015-02-01','2015-02-11',freq='B')

for d in dr:
      data = ts.get_tick_data('600848',str(d))

freq=B就是刨除周末的交易日

9
henry_l 发表于 2015-3-25 11:02:51
学习学习

10
badman 发表于 2015-8-12 11:28:04
fxll 发表于 2015-3-20 14:46
解决办法:
先取当日的所有交易股票:df = ts.get_today_all()
然后循环一下:
为什么我这么取完以后提示tick的数值为空呢?求帮助。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-25 17:15