在 ricequant 上有个 get_fundamental 函数。 看其文档知道是用 sqlalchemy 实现的。 其接受一个参数 query ,是 sqlalchemy 的 Query 类型。
我觉得这个实现很方便。用户调用的时候,有很好的智能提示。如果用 sqlalchemy ,我大概也能写出来。
context.fundamental_df = get_fundamentals(
query(
fundamentals.income_statement.revenue, fundamentals.eod_derivative_indicator.pe_ratio
).filter(
fundamentals.eod_derivative_indicator.pe_ratio > 25
).filter(
fundamentals.eod_derivative_indicator.pe_ratio < 30
).order_by(
fundamentals.income_statement.revenue.desc()
).limit(
10
)
)
但是公司现在的数据库用的是 mongo ,目前好像没有比较好用的 ODM ,能让用户写出这样的 query 。 唯一有个类似的就是 mongoalchemy 了。但是不是很成熟,且好像不更新了。
我的需求就是:如果数据库 mongodb , 这个功能该怎样实现?
1
jun4rui 2016-07-13 13:51:49 +08:00
nosql 不需要吧?已经够直接了
|
2
billgreen1 OP @jun4rui 是呀,如果用 sqlalchemy 是很容易解决的,但是目前公司的数据是存的 mongodb ,我也没办法
|
3
janxin 2016-07-13 19:36:33 +08:00
mongoengine
|
4
lululau 2016-07-13 20:14:59 +08:00 via iPhone
mongoid
|
5
AZLisme 2016-07-13 23:58:42 +08:00
mongoengine +1
|