Python:同花顺全数据接口

2023-05-16

前往:http://quantapi.10jqka.com.cn/?page=home
在这里插入图片描述如果是windows,根据不同用户,可以选择不同的下载。

1、iFinDPy 模块

下载完成后,会出现一个DataInterface_free_Windows_20210812.7z的文件,解压到任意文件夹中。打开该文件夹进入Bin文件夹后,再打开Tool文件夹,双击运行SuperCommand.exe,并使用iFinD账号免费登录。
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述选择python,确定。同时添加路径。
在这里插入图片描述选上。然后重启电脑,相关环境变量设置生效。

现在就可以在python环境中调用iFinDPy了。

二、相关代码
安装iFinDPy后,即可。具体可以参考:http://quantapi.10jqka.com.cn/?page=sample。

# -*- coding: utf-8 -*-

from iFinDPy import *
from datetime import datetime
import pandas as pd
import time as _time
import json
from threading import Thread,Lock,Semaphore
import requests

sem = Semaphore(5)  # 此变量用于控制最大并发数
dllock = Lock()  #此变量用来控制实时行情推送中落数据到本地的锁

# 登录函数
def thslogindemo():
    # 输入用户的帐号和密码
    thsLogin = THS_iFinDLogin("数据接口_账号","数据接口_密码")
    print(thsLogin)
    if thsLogin != 0:
        print('登录失败')
    else:
        print('登录成功')

def datepool_basicdata_demo():
    # 通过数据池的板块成分函数和基础数据函数,提取沪深300的全部股票在2020-11-16日的日不复权收盘价
    data_hs300 = THS_DP('block', '2020-11-16;001005290', 'date:Y,thscode:Y,security_name:Y')
    if data_hs300.errorcode != 0:
        print('error:{}'.format(data_hs300.errmsg))
    else:
        seccode_hs300_list = data_hs300.data['THSCODE'].tolist()
        data_result = THS_BD(seccode_hs300_list, 'ths_close_price_stock', '2020-11-16,100')
        if data_result.errorcode != 0:
            print('error:{}'.format(data_result.errmsg))
        else:
            data_df = data_result.data
            print(data_df)

def datapool_realtime_demo():
    # 通过数据池的板块成分函数和实时行情函数,提取上证50的全部股票的最新价数据,并将其导出为csv文件
    today_str = datetime.today().strftime('%Y-%m-%d')
    print('today:{}'.format(today_str))
    data_sz50 = THS_DP('block', '{};001005260'.format(today_str), 'date:Y,thscode:Y,security_name:Y')
    if data_sz50.errorcode != 0:
        print('error:{}'.format(data_sz50.errmsg))
    else:
        seccode_sz50_list = data_sz50.data['THSCODE'].tolist()
        data_result = THS_RQ(seccode_sz50_list,'latest')
        if data_result.errorcode != 0:
            print('error:{}'.format(data_result.errmsg))
        else:
            data_df = data_result.data
            print(data_df)
            data_df.to_csv('realtimedata_{}.csv'.format(today_str))

def iwencai_demo():
    # 演示如何通过不消耗流量的自然语言语句调用常用数据
    print('输出资金流向数据')
    data_wencai_zjlx = THS_WC('主力资金流向', 'stock')
    if data_wencai_zjlx.errorcode != 0:
        print('error:{}'.format(data_wencai_zjlx.errmsg))
    else:
        print(data_wencai_zjlx.data)

    print('输出股性评分数据')
    data_wencai_xny = THS_WC('股性评分', 'stock')
    if data_wencai_xny.errorcode != 0:
        print('error:{}'.format(data_wencai_xny.errmsg))
    else:
        print(data_wencai_xny.data)

def dlwork(tick_data):
    # 本函数为实时行情订阅新启线程的任务函数
    dllock.acquire()
    with open('dlwork.txt', 'a') as f:
        for stock_data in tick_data['tables']:
            if 'time' in stock_data:
                timestr = _time.strftime('%Y-%m-%d %H:%M:%S', _time.localtime(stock_data['time'][0]))
                print(timestr)
                f.write(timestr + str(stock_data) + '\n')
            else:
                pass
    dllock.release()

def work(codestr,lock,indilist):
    sem.acquire()
    stockdata = THS_HF(codestr, ';'.join(indilist),'','2020-08-11 09:15:00', '2020-08-11 15:30:00','format:json')
    if stockdata.errorcode != 0:
        print('error:{}'.format(stockdata.errmsg))
        sem.release()
    else:
        print(stockdata.data)
        lock.acquire()
        with open('test1.txt', 'a') as f:
            f.write(str(stockdata.data) + '\n')
        lock.release()
        sem.release()

def multiThread_demo():
    # 本函数为通过高频序列函数,演示如何使用多线程加速数据提取的示例,本例中通过将所有A股分100组,最大线程数量sem进行提取
    # 用户可以根据自身场景进行修改
    today_str = datetime.today().strftime('%Y-%m-%d')
    print('today:{}'.format(today_str))
    data_alla = THS_DP('block', '{};001005010'.format(today_str), 'date:Y,thscode:Y,security_name:Y')
    if data_alla.errorcode != 0:
        print('error:{}'.format(data_alla.errmsg))
    else:
        stock_list = data_alla.data['THSCODE'].tolist()

    indi_list = ['close', 'high', 'low', 'volume']
    lock = Lock()

    btime = datetime.now()
    l = []
    for eachlist in [stock_list[i:i + int(len(stock_list) / 10)] for i in
                     range(0, len(stock_list), int(len(stock_list) / 10))]:
        nowstr = ','.join(eachlist)
        p = Thread(target=work, args=(nowstr, lock, indi_list))
        l.append(p)

    for p in l:
        p.start()
    for p in l:
        p.join()
    etime = datetime.now()
    print(etime-btime)

pd.options.display.width = 320
pd.options.display.max_columns = None


def reportDownload():
    df = THS_ReportQuery('300033.SZ','beginrDate:2021-08-01;endrDate:2021-08-31;reportType:901','reportDate:Y,thscode:Y,secName:Y,ctime:Y,reportTitle:Y,pdfURL:Y,seq:Y').data
    print(df)
    for i in range(len(df)):
        pdfName = df.iloc[i,4]+str(df.iloc[i,6])+'.pdf'
        pdfURL = df.iloc[i,5]
        r = requests.get(pdfURL)
        with open(pdfName,'wb+') as f:
            f.write(r.content)


def main():
    # 本脚本为数据接口通用场景的实例,可以通过取消注释下列示例函数来观察效果

    # 登录函数
    thslogindemo()
    # 通过数据池的板块成分函数和基础数据函数,提取沪深300的全部股票在2020-11-16日的日不复权收盘价
    # datepool_basicdata_demo()
    #通过数据池的板块成分函数和实时行情函数,提取上证50的全部股票的最新价数据,并将其导出为csv文件
    # datapool_realtime_demo()
    # 演示如何通过不消耗流量的自然语言语句调用常用数据
    # iwencai_demo()
    # 本函数为通过高频序列函数,演示如何使用多线程加速数据提取的示例,本例中通过将所有A股分100组,最大线程数量sem进行提取
    # multiThread_demo()
    # 本函数演示如何使用公告函数提取满足条件的公告,并下载其pdf
    # reportDownload()

if __name__ == '__main__':
    main()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python:同花顺全数据接口 的相关文章

  • windows远程Ubuntu(xrdp+vnc)步骤及问题解决方案(ip设置)

    首先将计算机连入相应的路由器 xff0c 登陆账号即可上网 xff0c 下面部分引用了blog xff1a http zhouxiaowei1120 github io Blogs 20160407 html 其中第 xff08 5 xff
  • Ubuntu/debian 中更改桌面的路径/位置

    虚拟机debian系统中安装好vmware tool 后 xff0c 系统的桌面变为了主目录 修改如下 xff1a vi config user dir dirs 把其中的 XDG DESKTOP DIR 61 HOME 改成如下 XDG
  • 八数码问题的可解性

    对于给定八数码棋局的初始状态 xff0c 我们的目标是通过交换空格与其相邻棋子使棋盘达到目标状态 其中 xff0c 游戏规则是只能交换空格与其上下左右四个方向的相邻棋子 假设棋局目标状态为如下形式 xff1a xff08 A B C D E
  • Powershell远程错误整理

    xfeff xfeff 错误现象 权限不够 xff1a 执行Set WSManQuickConfig Enable PSRemoting会报错 xff0c 用Get Item WSMan 检查时会发现其子项无法访问 xff0c 用reged
  • vs2013编译错误error: MSB8020,一招解决这个错误

    错误提示 xff1a error MSB8020 The build tools for v140 Platform Toolset 61 39 v140 39 cannot be found To build using the v140
  • CSP考试 2016年04月第3题 路径解析 C++实现

    表示本目录 xff0c 例如 d1 f1 指定的就是 d1 f1 如果有多个连续的 出现 xff0c 其效果等同于一个 绝对路径 xff1a 以 符号开头 xff0c 表示从根目录开始构建的路径 相对路径 xff1a 不以 符号开头 xff
  • bash环境中的通配符和特殊符号的简单介绍

    Bash环境中可以用通配符 wildcard 来更好的对数据进行处理 下面介绍一些常用的通配符 符号 意义 代表0个到无穷多个任意字符 代表一定有一个任意字符 代表一定有一个在中括号内得字符 非任意字符 例如 abcd 代表一定有一个字符
  • spring boot自定义注解拦截接口

    自定义注解 xff0c 拦截接口请求 maven依赖管理 span class token generics function span class token punctuation lt span dependency span cla
  • nacos与spring cloud

    前言 从微服务兴起后 xff0c 服务治理问题已经成为其最大问题 起初有eureka xff0c zookeeper consul同台竞争 xff0c 本人也使用过eureka 43 config server作为注册中心和配置中心 xff
  • nacos与sentinel

    sentinel 高可用流控 sentinel 是阿里开源的一款系统流控系统 xff0c 可以在线配置本系统请求访问请求控制 软件下载 源码 运行版 运行 nohup java jar sentinel dashboard 1 7 2 ja
  • jenkins 结合ssh 实现多服务器部署jar包

    jenkins使用手册 简介 官网介绍 xff1a Jenkins是开源的CI CD xff08 持续集成 持续交付 xff09 软件领导者 有如下几个优点 xff1a 简单安装配置简单丰富的插件 超过1000个插件扩展性分布式 一 软件下
  • feign调用初始化问题

    最近使用spring cloud微服务遇到一个问题 xff0c 微服务之间使feign第一次调用时会非常的耗时 xff0c 一个请求如果调用链长的情况下 xff0c 接口返回可能会达到10s以上 xff0c 这是一个正常系统都不能容忍的 基
  • VScode 无法下载Go工具解决方案

    使用七牛云代理下载所需要的工具依赖 xff0c 具体配置请查看 说明 https goproxy cn
  • Sonar代码质量管理服务搭建并导入java项目

    1 软件下载 7 4 2 软件配置 打开解压后文件conf sonar properties mysql版本必须大于5 6小于8 0 MySQL gt 61 5 6 amp amp lt 8 0 sonar jdbc url 61 mysq
  • java join方法实现线程的串行

    java实现多线程之间串行执行 xff0c 网上也有很多的教程 在这里我主要说的是 xff1a java Thread类的join函数 xff0c 先贴代码吧 xff1a package cn com fhz thread Created
  • Windows上Rust所依赖的msvc到底怎么装?

    在Windows上面安装Rust的开发环境 xff0c 看起来颇具挑战性 我们会被告知需要安装一个名叫Microsoft Visual Studio C 43 43 build tools的编译工具 xff0c 并被给到一个官方链接 然而
  • Word 转 Markdown

    1 Pandoc 工具将 Word 文档转为 Markdown 可以借助 Pandoc 工具将 Word 文档转为 Markdown xff0c 例如 xff0c 此处将 README docx 转成 README md xff0c 命令如
  • c语言现代方法 chapter20自学笔记

    如果编写程序需要用到数据在内存中如何存储 xff0c 那么除非必要 xff0c 否则不用 xff0c 如果用 xff0c 那么集中在程序中的某个模块 xff0c 不要分散在各处 20 1 移位运算符 c语言提供了6个位运算符 这些运算符可以
  • 查看python源码之jieba安装

    Python 2 x 下的安装 全自动安装 xff1a easy install jieba 或者 pip install jieba 半自动安装 xff1a 先下载http pypi python org pypi jieba xff0c
  • 在Ubuntu Linux上搭建go语言环境

    一 安装VMware Tools 1 在刚装好的ubuntu linux上 xff0c 如果没有安装VMware Tools xff0c 那么我们就要先安装它 打开我们的ubuntu linux xff0c 然后点击左上角的虚拟机 xff0

随机推荐

  • Linux nohup实现后台运行程序及查看(nohup与&)

    1 后台执行 一般运行linux上的程序都是执行 sh 文件 xff08 sh文件 xff09 xff0c 那如果不影响当前CMD窗口的操作 xff0c 需要后台运行怎么办呢 xff1f 这时就需要借助 nohup 和 amp 命令来实现
  • CA 认证过程及 https 实现方法

    CA 认证过程 CA 概述 xff1a Certificate Authority 的缩写 xff0c 通常翻译成认证权威或者认证中心 xff0c 主要用途是为用户发放数字证书 CA 认证的流程和公安局派出所颁发身份证的流程一样 认证中心
  • C++代码详解:string的赋值与C风格字符串转换

    C 43 43 代码详解 string的赋值与C风格字符串转换 61 61 61 61 61 string简介 61 61 61 61 61 string是C 43 43 里默认的字符串容器 xff0c 用于代替C风格的字符串指针与字符串数
  • nginx 基本配置

    一篇比较好的参考文 https www digitalocean com community tutorials how to install nginx on ubuntu 18 04 1 在 Ubuntu 上安装 Nginx sudo
  • 解决[[NSFileManager defaultManager] contentsOfDirectoryAtPath 方法获取不到数据的bug

    在说这个问题之前 必须先解释一下 我们在引入工程的时候 xcode会给我们3个选项 1 Copy items if needed 主要是说明 xff0c 是否要将文件拷贝到工程所在目录 如果不选中 xff0c 而且该库文件不在工程目录下 x
  • GitLab+Jenkins集群+docker CICD集成

    前言 最近部门进行CICD架构升级将引入k8s编排docker容器 借此机会梳理下目前应用部署发布方式 当前架构是我刚到公司时基于gitlab 43 jenkins 43 docker 43 nexus搭建 引入K8S后将调整pod yam
  • 10个轻松上手制作的Arduino项目

    创建Arduino项目可以给您带来很大的满足感 xff0c 但很多时候初学者不知道从哪里开始 启动创建项目时需要考虑很多事情 xff0c 如果您没有制作的经验 xff0c 那可能会令人困惑 正是因为这个原因 xff0c 我们为初学者收集到1
  • 7个基于Arduino的神奇项目!

    创客人数的规模正在增加 xff0c 从当地的超市到大城市繁忙的办公室 xff0c 到处都可以找到他们 xff0c 这些地方可能会有一个或两个创客 xff0c 或许更多 xff0c 在制定他们的下一个设计 xff0c 或者可能渴望找到一个前现
  • 用if语句如何检测一个变量是否存在。

    例如我们用if语句检测一下num这个变量是否存在 若我们直接写 xff1a var night 61 34 34 if num night 61 34 yes 34 console log night 注意 xff01 xff01 1 如果
  • nodejs中的__filename和__dirname的使用说明

    在node js开发中 xff0c 有时候需要获取一些环境变量 xff0c 其中 filename和 dirname 是两个有用的环境变量 dirname 获取的是调用 dirname的脚本文件本身的绝对路径 xff0c 不是启动脚本文件的
  • LPC1768 -- RTC实时时钟

    RTC是当下设备中比较普遍的一个部件 xff0c 很多设备都需要查看时间 RTC实时时钟已经在很多的单片机中集成 xff0c 以前还要专门的时钟芯片 xff0c 现在Cortex M3内核都包括了这个部件了 和以前NXP的ARM7内核不同的
  • Ubuntu Apache2配置SSL证书

    一 Ubuntu下的Apache2 1 安装Apache2 sudo apt get install apache2 默认站点在 var www 配置文件在 etc apache2 日志在 var log apache 启动脚本是 etc
  • 时间机器

    让我们回到过去的是回忆 让我们勇敢前行的是期望 致我最爱的电影 时间机器
  • pyqt5 Qthread事件 进度条 案例

    pyqt5 Qthread事件 进度条 案例 代码 xff1a from PyQt5 import QtWidgets span class token punctuation span QtCore import sys from PyQ
  • CString 的成员函数详解

    CString 的成员函数详解 CSTRING的成员函数详解 typedef ATL CStringT lt TCHAR StrTraitMFC DLL lt TCHAR gt gt CString CString的构造函数 xff1a 1
  • Rust: Rust 异步入门 (作者洋芋,来自Rust语言中文社区)

    Rust每周一知 Rust 异步入门 原创 洋芋 Rust语言中文社区 前天 这是一篇博文翻译 xff0c 略有删减 xff0c 整理代码方便统一阅读 xff0c Github链接 xff1a https github com lester
  • (转)Julia PkgServer 镜像服务

    https mp weixin qq com s DyegFcNEjieJspc 3B5G6w Julia PkgServer 镜像服务 原创 Johnny Chen JuliaCN 昨天 长久以来 xff0c 受国内网络环境影响 xff0
  • python : pandas库的后继者polars库

    polars库是python的又一dataframe库 xff0c 显然 xff0c 在pandas库的光芒下 xff0c 要上位是不容易的 xff0c 必须有过硬的功夫 一 用法基本一致 从长相上看 xff0c 两者有孪生相 xff0c
  • 证券类私募主要需求及核心服务商

  • Python:同花顺全数据接口

    前往 xff1a http quantapi 10jqka com cn page 61 home 如果是windows 根据不同用户 xff0c 可以选择不同的下载 1 iFinDPy 模块 下载完成后 xff0c 会出现一个DataIn