使用futuapi把股票K线数据录入mysql数据库中

 富途证券OpenAPI 量化接口,目前已经不能提供,存量中国境内用户还能用,富途行情软件是目前市面上界面最漂亮的行情软件,加上openapi,功能非常强大。

参考官网python版本,终于完成了自选股票K线数据入库。

from futu import *
from Sqlhelper import *
import schedule
class Futuapi:
    def __init__(self):
        """
        初始化函数
        参数: 无
        返回值: 无
        功能描述:
        1. 初始化交易数据上下文环境;
        2. 初始化股票代码列表、开始日期字典、表格列表和周期类型列表。
        """
        self.quote_ctx = OpenQuoteContext(host='127.0.0.1', port=11112)
        self.codes = []#自选股列表
        self.start_date = {}#历史数据获取需要
        self.table_list = ['m1', 'm5', 'm15', 'm30', 'm60', 'day']#K线周期对应表名
        self.type_list = [SubType.K_1M, SubType.K_5M, SubType.K_15M, SubType.K_30M, SubType.K_60M,SubType.K_DAY ]#FUTUAPI的K线周期
        

    def get_user_security(self):#获取自选股列表
        """
        获取用户的自选股列表,并对每只股票进行数据初始化。

    
        函数不接受参数,也不直接返回值,但会对类的内部状态进行更新。
        """
        # 尝试从API接口获取用户自选股票列表
        ret, data = self.quote_ctx.get_user_security("cc")
        if ret == RET_OK and data.shape[0] > 0:
                self.codes = data.to_dict(orient = 'records')   
                 # 将股票代码数据存储为字典格式,每个股票代码对应一条记录
                for i in self.codes:        # 遍历每只股票代码           
                     i['label'] = i['code'].replace(".", "")# 生成股票标签,移除股票代码中的点号
                     dbname = i['label']# 用作数据库名
                     init_db(dbname)# 创建数据库,LABEL为数据库名
                     Creat_table(dbname) # 初始化股票数据表
                     dt = self.get_rehab(i['code'])   #获取复权因子     
                     if len(dt)>0:# 如果成功获取复权因子,则添加到股票信息SEFL.CODES中
                          i['rehab'] = dt    
               # 清空STOCK数据库中历史数据
                delete_all_data_in_s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值