财经数据----同花顺技术选股,附代码

因为我最近在学习量化框架pyalgotrade比较忙,所以我写文章的时间比较少,因为白天要上课比较忙,所以我介绍一些有意义的数据。比如同花顺财经的技术选股。我们打开浏览器,搜搜同花顺财经进入数据我们看到数据中心有一个技术选股数据。我还是一样,提供的程序仅仅供交流学习,不得用于其他用途,更不能用于大规模获取数据,坚守爬虫原则,感谢同花顺提供的数据,让我们投资研究更容易。

需要程序关注微信公众,数据分析与运用,回复同花顺选股就可以了

我们点击技术选股,进入我们就会看到许多选股的数据。

我们可用看到有创新高,创新低,连续上涨,连续下跌,量价,等,下面有月高,半年高,一年高,历史高等,我们看月高的数据

我们看需要解析数据,比较难解析

下面是我结合akshare库写的图形界面,查这个数据非常的方便。代码很多

我们选择创新高,看一下效果

我们选择保存为桌面的数据文件

我们看一下数据。数据非常多

下面为我独立出来模块代码,同花顺技术选股。效果

下面为直接写的代码获取创新高程序,爬虫应该自己多动手

from urllib import requestimport pandas as pdimport akshare as akfrom bs4 import BeautifulSoupfrom lxml import etreefrom openpyxl import load_workbookimport requestsurl='http://data.10jqka.com.cn/rank/cxg/board/4/field/stockcode/order/desc/ajax/1/free/1/'headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36','Referer':'http://data.10jqka.com.cn/rank/cxg/','Cookie':'log=; Hm_lvt_78c58f01938e4d85eaf619eae71b4ed1=1651495867; __utma=156575163.55348612.1651495956.1651495956.1651495956.1; __utmc=156575163; __utmz=156575163.1651495956.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmt=1; __utmb=156575163.1.10.1651495956; Hm_lvt_60bad21af9c824a4a0530d5dbf4357ca=1651495964; Hm_lvt_f79b64788a4e377c608617fba4c736e2=1651495965; Hm_lpvt_78c58f01938e4d85eaf619eae71b4ed1=1651495970; Hm_lpvt_60bad21af9c824a4a0530d5dbf4357ca=1651495970; Hm_lpvt_f79b64788a4e377c608617fba4c736e2=1651495970; v=Axt5zlIB_c3JbQE5KNqqIydFqnSI8C3qKQbztA1a9nowdTVilcC_QjnUg_Ie'}res=requests.get(url=url,headers=headers)df_text=pd.read_html(res.text)df=pd.DataFrame(df_text[0])df.to_excel(r'C:\Users\Administrator\Desktop\同花顺技术选股.xlsx')wb=load_workbook(r'C:\Users\Administrator\Desktop\同花顺技术选股.xlsx')ws=wb['Sheet1']ws.delete_rows(idx=2,amount=2)wb.save(r'C:\Users\Administrator\Desktop\同花顺技术选股.xlsx')

下面为独立出来模块,同花顺技术选股程序代码

#快速查股票数据#安装库的方式,wind+R,输入cmd,输入 py -m pip install 库名#复制,粘贴道pycharm,点击运行就可用import akshare as akimport tkinter as tkimport tkinterimport pandasimport PySimpleGUI as sgimport seaborn as snsimport matplotlib.pyplot as pltfrom finta import TAimport mplfinance as mpfplt.rcParams['font.family']='SimHei'plt.rcParams['axes.unicode_minus']=Falseroot=tk.Tk()root.wm_title('快速查数据')root.geometry('600x500')menmenu=tk.Menu(root)def stock_ths_cxg():#同花顺创新高    code=sg.popup_get_file('输入类型包括"创月新高", "半年新高", "一年新高", "历史新高"')    df=ak.stock_rank_cxg_ths(symbol=code)    look=sg.popup_get_file('输入查看数据方式0代表弹窗查看,1代表保存到桌面数据文件')    if look=='0':        sg.popup(df)    elif look=='1':        df.to_excel(r'C:\Users\Administrator\Desktop\数据.xlsx')def stock_ths_cxd():#同花顺选股创新低    code=sg.popup_get_file('输入类型包括"创月新高", "半年新高", "一年新高", "历史新高"')    df=ak.stock_rank_cxd_ths(symbol=code)    look=sg.popup_get_file('输入查看数据方式0代表弹窗查看,1代表保存到桌面数据文件')    if look=='0':        sg.popup(df)    elif look=='1':        df.to_excel(r'C:\Users\Administrator\Desktop\数据.xlsx')def stock_ths_lxss():#同花顺连续上涨    df=ak.stock_rank_lxsz_ths()    look=sg.popup_get_file('输入查看数据方式0代表弹窗查看,1代表保存到桌面数据文件')    if look=='0':        sg.popup(df)    elif look=='1':        df.to_excel(r'C:\Users\Administrator\Desktop\数据.xlsx')def stock_ths_lxxd():#同花顺连续下跌    df=ak.stock_rank_lxxd_ths()    look=sg.popup_get_file('输入查看数据方式0代表弹窗查看,1代表保存到桌面数据文件')    if look=='0':        sg.popup(df)    elif look=='1':        df.to_excel(r'C:\Users\Administrator\Desktop\数据.xlsx')def stock_ths_cxfl():#同花顺持续放量    df=ak.stock_rank_cxfl_ths()    look=sg.popup_get_file('输入查看数据方式0代表弹窗查看,1代表保存到桌面数据文件')    if look=='0':        sg.popup(df)    elif look=='1':        df.to_excel(r'C:\Users\Administrator\Desktop\数据.xlsx')def stock_ths_cxsl():#同花顺持续缩量    df=ak.stock_rank_cxsl_ths()    look=sg.popup_get_file('输入查看数据方式0代表弹窗查看,1代表保存到桌面数据文件')    if look=='0':        sg.popup(df)    elif look=='1':        df.to_excel(r'C:\Users\Administrator\Desktop\数据.xlsx')def stock_ths_xstp():#同花顺向上突破    code=sg.popup_get_file('输入突破类型"5日均线", "10日均线", "20日均线", "30日均线", "60日均线", "90日均线", "250日均线", "500日均线"')    df=ak.stock_rank_xstp_ths(symbol=str(code))    look=sg.popup_get_file('输入查看数据方式0代表弹窗查看,1代表保存到桌面数据文件')    if look=='0':        sg.popup(df)    elif look=='1':        df.to_excel(r'C:\Users\Administrator\Desktop\数据.xlsx')def stock_ths_xxtp():#同花顺向下突破    code=sg.popup_get_file('输入突破类型"5日均线", "10日均线", "20日均线", "30日均线", "60日均线", "90日均线", "250日均线", "500日均线"')    df=ak.stock_rank_xxtp_ths(symbol=str(code))    look=sg.popup_get_file('输入查看数据方式0代表弹窗查看,1代表保存到桌面数据文件')    if look=='0':        sg.popup(df)    elif look=='1':        df.to_excel(r'C:\Users\Administrator\Desktop\数据.xlsx')def stock_ths_ljqs():#同花顺量价齐升    df=ak.stock_rank_ljqs_ths()    look=sg.popup_get_file('输入查看数据方式0代表弹窗查看,1代表保存到桌面数据文件')    if look=='0':        sg.popup(df)    elif look=='1':        df.to_excel(r'C:\Users\Administrator\Desktop\数据.xlsx')def stock_ths_ljqd():#同花顺量价齐跌    df=ak.stock_rank_ljqd_ths()    look=sg.popup_get_file('输入查看数据方式0代表弹窗查看,1代表保存到桌面数据文件')    if look=='0':        sg.popup(df)    elif look=='1':        df.to_excel(r'C:\Users\Administrator\Desktop\数据.xlsx')def stock_ths_xzjp():#同花顺险资举牌    df=ak.stock_rank_xzjp_ths()    look=sg.popup_get_file('输入查看数据方式0代表弹窗查看,1代表保存到桌面数据文件')    if look=='0':        sg.popup(df)    elif look=='1':        df.to_excel(r'C:\Users\Administrator\Desktop\数据.xlsx')def stock_xgxd():#创新高创新低股票数量    lx=sg.popup_get_file('输入类型包括"all", "sz50", "hs300", "zz500"')    df=ak.stock_a_high_low_statistics(symbol=lx)    look=sg.popup_get_file('输入查看数据方式0代表弹窗查看,1代表保存到桌面数据文件')    if look=='0':        sg.popup(df)    elif look=='1':        df.to_excel(r'C:\Users\Administrator\Desktop\数据.xlsx')jsxg_data=tk.Menu(root)menmenu.add_cascade(label='技术选股',menu=jsxg_data)jsxg_data.add_command(label='同花顺选股创新高',command=stock_ths_cxg)jsxg_data.add_command(label='同花顺选股创新低',command=stock_ths_cxd)jsxg_data.add_command(label='同花顺选股连续上涨',command=stock_ths_lxss)jsxg_data.add_command(label='同花顺选股连续下跌',command=stock_ths_lxxd)jsxg_data.add_command(label='同花顺选股持续放量',command=stock_ths_cxfl)jsxg_data.add_command(label='同花顺选股持续缩量',command=stock_ths_cxsl)#jsxg_data.add_command('同花顺选股向上突破',command=stock_ths_xstp)#jsxg_data.add_command('同花顺选股向下突破',command=stock_ths_xxtp)jsxg_data.add_command(label='同花顺选股量价齐升',command=stock_ths_ljqs)jsxg_data.add_command(label='同花顺选股量价齐跌',command=stock_ths_ljqd)jsxg_data.add_command(label='同花顺选股危资举牌',command=stock_ths_xzjp)jsxg_data.add_command(label='创新低,创新高股票数量',command=stock_xgxd)root['menu']=menmenuroot.mainloop()

### Python 同花顺选股 API 使用方法 #### 安装依赖库 为了能够顺利调用同花顺的API,需先安装`thsdk`等相关依赖包。通常情况下可以通过pip来完成这一过程。 ```bash pip install thsdk ``` #### 初始化连接 建立与同花顺客户端之间的通信链接是必要的前置条件之一。下面展示了一个简单的初始化实例[^2]: ```python from thsapi import THSTrader # 创建交易对象并指定路径至同花顺下单程序 trader = THSTrader(r"C:\同花顺软件\weituo\模拟炒股\xiadan.exe") # 登录账户 login_result = trader.login() if not login_result['success']: print(f"登录失败: {login_result}") else: print("成功登录") ``` #### 构建查询语句 利用问财Python库可以直接通过自然语言描述的方式构建复杂的筛选逻辑,极大地简化了编写SQL或其他形式查询表达式的难度[^1]。例如要查找处于均线上升趋势中的个股列表,则只需简单地给出一句中文指令即可实现目标。 ```python query_statement = "均线多头排列的股票" stocks = trader.query_stock(query_statement) for stock in stocks: print(stock) ``` #### 获取实时行情数据 除了基本的信息检索外,还可以借助此接口取得最新的市场动态信息作为辅助决策依据。这里提供了一段用于抓取特定证券品种当前价格走势片段的示范代码[^3]。 ```python code_list = ["000001.SZ", "600519.SH"] # 股票代码集合 fields = ['name', 'close', 'high', 'low'] # 所需字段名数组 data = trader.get_market_data(code_list=code_list, fields=fields) print(data) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xg_quant

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值