基于金融大数据的特征提取与趋势预测系统(8)——数据存储和更新

 数据存储和更新涉及的表有sz50、daily_forecast、daily_similarity_sz50、recently_sz50

由于sz50是变化的的(半年一更),所以要定期对sz50的信息进行更新。

在建表时,recently_sz50和daily_similarity_sz50以sz50的ts_code列作为外码,是为了方便更新sz50时对失效信息的删除。因此对sz50的更新就不能使用全部替换的方式,只能部分更新

    ts_code0 = sz50()
    new_data = new_sz50()
    code0 = [i[0] for i in ts_code0]
    code1 = [i[0] for i in new_data]

    code_keep = [i for i in code0 if i in code1]
    code_del = [i for i in code0 if i not in code1]
    code_new = [i for i in code1 if i not in code0]
    data_new = [i for i in new_data if i[0] in code_new]
    for i in data_new:
        cursor.execute('insert into sz50 values (%s,%s)', i)
    for i in code_del:
        cursor.execute('delete from sz50 where ts_code = %s', [i])
    db.commit()

函数sz50()取出数据库中的原有的信息,

函数new_szs50()查找新的sz50信息,

通过比较这二者的不同可以获取以下信息:

        code_keep,是未变动的股票的代码,要根据它们来每天更新daily_similarity_sz50和recently_sz50的信息

        code_del,是淘汰股票的代码,通过删除它们来级联删除对应的日信息等

        code_new,是新增股票的代码,要把对应股票的日信息插入daily_similarity_sz50和recently_sz50

        data_new,是新增股票的信息,要插入到sz50中

根据code_keep的股票代码,通过tushare(daily)逐个获取最新的信息插入到数据库中;

根据code_new的股票代码,以同样的方式获取所需时间段的信息插入数据库。

其他的还有对股票预测所需数据的存储,和预测中间结果的存储

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值