量化交易入门笔记-数据获取函数 二

本文介绍了Python量化交易中用于获取数据的多个函数,包括gt_fundamentals()、get_fundamentals_continuously()等,详细阐述了每个函数的参数、用法和示例,帮助读者理解如何获取股票的财务数据、指数成分股、行业股票、概念板块股票等信息。
摘要由CSDN通过智能技术生成

gt_fundamentals() 函数

该函数可查询一只股票或多只股票的财务数据,其语法如下:

get_fundamentals(query_object, date=None, statDate=None)

参数解析:

  • query_object : 这是一个 sqlalchemy.orm.query.Query 对象,可以通过全局的 query 函数获取 Query 对象

  • date : 表示查询日期,可以是一个字符串或者datetime.date/datetime.datetime对象。可以是None,使用默认日期,这个默认日期在回测和研究模块上有点差别:

    • 回测模块:默认值会随着回测日期变化而变化,等于 context.current_dt 的前一天(实际生活中我们只能看到前一天的财报和市值数据,所以要用前一天)
    • 研究模块:使用平台财务数据的最新日期,一般是昨天

    需要注意的是,如果传入的date不是交易日,则使用这个日期之前的最近的一个交易日

  • statDate : 是一个字符串,表示财报统计的季度或者年份,有两种格式,具体如下:

    • 季度:格式是年+“q”+季度序号,例如:“2018q1”,“2017q4“
    • 年份:格式就是年份的数字,如”2017“,”2018“

    date 和 statDate 参数只能传入一个。传入date时,查询指定日期 date 收盘后所能看到最近的数据;传入 statDate 时,查询 statDate 指定的季度或者年份的财务数据。当两个参数都没有传入成功时,相当于使用 date 参数,即使用默认日期

    为了防止返回数据量过大,每次最多返回10000行。另外,当相关股票上市前、退市后,财务数据返回各字段为空

实例代码:

import pandas as pd

# query表示查询
# filter表示条件筛选
# valuation是内置市值数据对象(这里表示查询valuation下所有的属性)
# 最终返回一个Query对象
myq = query(valuation).filter(valuation.code=='000001.XSHE')
df = get_fundamentals(myq,'2018-4-12')
df
id code pe_ratio turnover_ratio pb_ratio ps_ratio pcf_ratio capitalization market_cap circulating_cap circulating_market_cap day pe_ratio_lyr
0 16898314 000001.XSHE 8.53 0.6934 0.9787 1.8698 -2.0521 1717041.125 1978.0314 1691798.375 1948.9517 2018-04-12 8.53

valuation市值数据对象中的字段有:

  • id: 每行数据的索引,不重复
  • code: 股票代码
  • pr_ratio: 是股票的市盈率(PE,TTM),即动态市盈率。
  • turnover_ratio: 是股票的换手率。
  • pb_ratio: 是股票的市 净率(PB)
  • ps_ratio: 是股票的市现率
  • capitalization: 是股票的总股本(万股)
  • market_cap: 是股票的流通股本(万股)
  • circulating_market_cap: 是股票的流通市值(亿元)
  • day: 是指查询股票账务数据的具体日期
  • pe_ratio_lyr: 是股票的市盈率(PE)。以上一年度每股盈利计算的静态市盈率

示例:输出指定字段

import pandas as pd

# query表示查询
# filter表示条件筛选
# valuation是内置市值数据对象(这里表示查询valuation下所有的属性)
# 最终返回一个Query对象
myq = query(valuation).filter(valuation.code=='000001.XSHE')
df = get_fundamentals(myq,'2018-4-12')

print("当日动态市盈率是:", df['pe_ratio'])
print('当日换手率是:', df['turnover_ratio'])
print('当日市销率是:', df['ps_ratio'])

当日动态市盈率是: 0    8.53
Name: pe_ratio, dtype: float64
当日换手率是: 0    0.6934
Name: turnover_ratio, dtype: float64
当日市销率是: 0    1.8698
Name: ps_ratio, dtype: float64

示例:显示多只股票的财务数据

import pandas as pd

# query表示查询
# filter表示条件筛选
# valuation是内置市值数据对象(  这里表示查询valuation下所有的属性)
# 最终返回一个Query对象
myq = query(valuation).filter(valuation.code.in_(['000001.XSHE', '600000.XSHG', '000009.XSHE']))
df = get_fundamentals(myq,'2018-4-12')
df
id code pe_ratio turnover_ratio pb_ratio ps_ratio pcf_ratio capitalization market_cap circula
  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
## 讲师介绍: 近 5 年个人投资理财年化收益平均超 25%。如果你也想提升自己的睡后收入,轻松赚钱,那么这门课就是为你量身打造。课程基于一个完整真实的量化交易业务来讲授,并融入老师的理财经验以及使用编程技术辅助投资的技巧,让你面对各种复杂投资情况也能做到游刃有余。 ## 学习目标: 从不懂“理财”开始到实现自动交易,成为一个“技术流”理财高手 编程技术 + 核心量化策略 + 交易系统开发 + 讲师经验分享,学会用技术辅助理财 本课程从最基础的什么是量化开始讲起,即使对投资理财不了解同样可以学习,轻松入门无压力。 从如何获取数据开始,到实现实盘交易,课程对量化交易的每一步都进行细致讲解,为你铺开量化交易的每一个细节。 不仅仅只是教你学会使用某种工具,更会教给你量化交易的投资思想,让你面对各种情况都游刃有余。 ## 课程亮点: 设计适合自己并能适应市场的交易策略,才是量化交易的灵魂 课程亲手带你设计并实现两种交易策略,快速培养你的策略思维能力 1. 择时策略:通过这个策略学会如何利用均线,创建择时策略,优化股票买入卖出的时间点。2. 选股策略:掌握选股策略的核心逻辑,并基于收益率创建动量选股策略,并验证其有效性。 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统 第三方平台大而全,不易扩展,效率还差,信息安全也是大问题,打造自己的交易平台才是更优解
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值