带工具的简单库存数据库。
pystockdb的Python项目详细描述
PystockDB
基于pony.orm的库存数据库。 这个包提供了一个创建、同步和更新工具。
目前我们只支持少数股票。 如果你想要更多,请贡献pytickersymbols。
安装
pip install pystockdb
数据库架构
快速启动
在所有示例中,我们使用sqlite,但您可以自由使用其他提供程序。 更多信息请阅读Connecting to the Database
安装sqlite stock db:
importloggingfrompystockdb.tools.createimportCreateAndFillDataBaselogger=logging.getLogger('test')config={'max_history':1,'indices':['DAX'],'currencies':['EUR'],'db_args':{'provider':'sqlite','filename':'demo.sqlite','create_db':True},}create=CreateAndFillDataBase(config,logger)create.build()
更新sqlite stock db:
importloggingfrompystockdb.tools.updateimportUpdateDataBaseStockslogger=logging.getLogger('test')config={'symbols':['ALL'],'prices':True,# update prices'fundamentals':True,# update fundamental stock data'db_args':{'provider':'sqlite','filename':'demo.sqlite','create_db':False},}update=UpdateDataBaseStocks(config,logger)update.build()
同步sqlite股票数据库:
importloggingfrompystockdb.tools.syncimportSyncDataBaseStockslogger=logging.getLogger('test')config={'max_history':1,'indices':['CAC 40'],# add new index to existing database'currencies':['EUR'],'db_args':{'provider':'sqlite','filename':'demo.sqlite',},}sync=SyncDataBaseStocks(config,logger)sync.build()
获取数据库对象:
importdatetimefrompony.ormimportdb_sessionfrompystockdb.db.schema.stocksimportPrice,Stockfrompystockdb.tools.baseimportDBBase# connect to databasearguments={'db_args':{'provider':'sqlite','filename':'test.sqlite','create_db':False}}# Read https://docs.ponyorm.org/api_reference.html for other provider settingsDBBase(arguments,None)now=datetime.datetime.now()last_week=now-datetime.timedelta(days=7)withdb_session:# get ifx stock objectstock=Stock.select((lambdas:'IFX.F'ins.price_item.symbols.name)).first()# select ifx.f prices of the last weekprices=Price.select(lambdap:p.symbol.name=='IFX.F'andp.date>=last_weekandp.date<=now)
问题跟踪程序
https://github.com/portfolioplus/pystockdb/issuese