Python:在WRDS CRSP查询中使用多个变量

2024-05-15 11:35:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在WRDS SQL查询中使用多个变量。 我想通过PERMNO和Date搜索CRSP数据库,返回特定公司在特定日期的股票价格。我有一个大数据框,从中检索这些变量并用于搜索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\u sql实现吗? 我已经搜索了WRDS Help Site(特别是将参数传递给SQL部分),但无法解决这个问题。 对于解决方案的细节(例如使用.txt输入文件而不是数据帧),我并不担心,我只需要能够为多个WHERE条件实现变量。 如果无法通过db.raw_sql访问WRDS数据库,是否有其他方法可以通过Python访问WRDS数据库

谢谢你的提示和指点


Tags: 数据数据库dbsqldateraw公司query