python - Python:在 WRDS CRSP 查询中使用多个变量
问题描述
我想在 WRDS SQL 查询中使用多个变量。我正在寻求按 PERMNO 和日期搜索 CRSP 数据库,返回特定公司在特定日期的股票价格。我有一个大型 DataFrame,将从中检索这些变量并用于搜索 CRSP 数据库。
在:
sql_query = """
SELECT cusip, permno, date, prc
FROM crsp_a_stock.dsf
WHERE permno = 12490
AND date in %(dates)s
LIMIT 100
"""
parm = {'dates': tuple([line for line in open('dates.txt', 'r')])}
df = db.raw_sql(sql_query, params=parm)
df
出去:
cusip permno date prc
0 45920010 12490.0 1996-01-31 108.5
这将根据需要在 1996 年 1 月 31 日输出 IBM (PERMNO 12490) 的数据。我的问题是我还希望能够将 permno 条件链接到一个变量,这样我就可以运行查询并检索每个公司在特定日期的价格数据。
此代码基于此Answer。
这可以通过 db.raw_sql 完成吗?我已经搜索了WRDS 帮助站点(特别是向 SQL 传递参数部分),但无法解决这个问题。我对解决方案的细节(例如使用 .txt 输入文件而不是数据框)并不大惊小怪,我只需要能够为多个 WHERE 条件实现变量。如果无法通过 db.raw_sql 实现,是否有任何其他方法可以通过 Python 访问 WRDS 数据库来允许这样做?
感谢您提供任何提示或指示。
解决方案
推荐阅读
- shell - 验证 sql 查询是否返回 .sh 文件中的任何行
- backend - 使用一个主机名和多个 IP 地址的 haproxy 后端配置
- java - 用于数据库审计删除操作的 Hibernate 拦截器已回滚
- ajax - 选择文件时如何使用 rich:fileUpload 添加额外的表单数据参数或 URL 查询参数?
- javascript - 如何获取对象内数组的第一个元素
- r - 列中年龄数据的百分比
- certificate - 如何检查数字签名令牌是否具有签名和加密功能
- php - 在 Yii2 php 中,如何在不重新加载页面或手动关闭的情况下删除错误闪烁消息?
- flutter - 如何在 Navigator 2.0 中订阅 Route 更改
- typescript - 如何使用另一个对象的成员创建一个新对象,不包括某些接口/类型中的成员?