量化研究---pywencai问财数据的使用,提供源代码

文章链接 量化研究---pywencai问财数据的使用,提供源代码 (qq.com)

pywencai是一个强大的第三方库库,开源的源代码,但是教程比较少,我简单的写一个教程结合我的使用,也开源直接访问我网页

图片

网页http://120.78.132.143:8023/wencai_data_intr

图片

访问数据,输入内容就可以

图片

如果你熟悉源代码也可以通过源代码访问网页http://120.78.132.143:8023/finnace_data

图片

本地使用安装node

图片

图片

图片

安装完成,点击安装第三方库bat

图片

图片

安装完成直接使用

#先安装node#先安装pywencai,点击文件夹下面的安装第三方库bta就可以
​​​​​
import pywencaires = pywencai.get(query='人气排行',loop=True)res

图片

可以直接放在我服务器运行

图片

import pywencaidf = pywencai.get(query='人气排行',loop=True)df.to_csv(r'{}\数据\{}数据.csv')                

点击运行

图片

全部的参数​​​​​​​

'''参数query必填,查询问句
老版本的question参数1.0版本以后会弃用,请以后统一使用query参数
sort_key非必填,指定用于排序的字段,值为返回结果的列名
sort_order非必填,排序规则,至为asc(升序)或desc(降序)
page非必填,查询的页号,默认为1
perpage非必填,每页数据条数,默认值100,由于问财做了数据限制,最大值为100,指定大于100的数值无效。
loop非必填,是否循环分页,返回多页合并数据。默认值为False,可以设置为True或具体数值。
当设置为True时,程序会一直循环到最后一页,返回全部数据。
当设置具体数值n时,循环请求n页,返回n页合并数据。
query_type非必填,默认为stock,当查询的类型不是股票的时候需要传,取值如下:
取值  含义stock  股票zhishu  指数fund  基金hkstock  港股usstock  美股threeboard  新三板conbond  可转债insurance  保险futures  期货lccp  理财foreign_exchange  外汇retry非必填,默认为10,表示请求失败后的重试次数。
sleep非必填,默认为0,表示循环请求时,每次请求间隔多少秒。
log非必填,默认为False,是否在控制台打印日志。
pro非必填,默认为False,付费版传True,
必须传入cookie参数才能使用付费版
cookie非必填,默认为None,免费版可以忽略,付费版必须传入cookie,获取付费使用权限。
pywencai.get(question='近3个月每日市盈率', pro=True, cookie='xxxx')cookie获取方法,复制请求头中的Cookie字段值
cookie
request_params非必填,默认为{},可以设置额外的request参数
no_detail非必填,默认为False,当为True时,查询一些详情类问题不再会返回字典,而返回None,可以保证查询结果类型一直为pd.DataFrame或None。
find非必填,默认为None,可以传一个数组,例如['600519', '000010'],数组内的对应标的会排列在DataFrame的最前面。
【注意】 1、该参数只有结果范围DataFrame时有效。2、配置该参数后,loop参数会失效,结果只会返回前100条。
user_agent非必填,默认为None,可以自己传user_agent,不使用随机的生成的user_agent
返回值当查询的是列表时,该方法返回一个pandas的Dataframe
当查询的是详情时,该方法返回一个字典,字典中可能包含若干个文本和Dataframe'''

比如获取可转债的,更多的功能可以按照研究​​​​​​​

#可转债df=pywencai.get(query='可转债',query_type='conbond',loop=True)df

图片

### Backtrader 量化交易平台简介 Backtrader 是一种广泛使用Python 量化交易平台,提供了丰富的工具和功能来进行策略回测和实盘交易[^1]。该平台不仅支持多种数据源和交易 API,还具备强大的分析功能,使开发者能够在其框架上进行详尽的策略测试和优化[^3]。 ### 安装与配置 为了使用 Backtrader 进行量化交易策略回测,首先需要安装必要的依赖库: ```bash pip install backtrader numpy pandas matplotlib tushare baostock TA-Lib echars pyecharts wencai pywencai ``` 这些库涵盖了数据分析、可视化以及获取市场数据的功能需求[^2]。 ### 创建简单的移动平均交叉策略 下面是一个利用简单移动平均线(SMA)作为买卖信号的基础示例代码: ```python import backtrader as bt import datetime class SmaCross(bt.Strategy): params = dict( pfast=10, # period for the fast moving average pslow=30 # period for the slow moving average ) def __init__(self): sma_fast = bt.ind.SMA(period=self.params.pfast) sma_slow = bt.ind.SMA(period=self.params.pslow) self.crossover = bt.ind.CrossOver(sma_fast, sma_slow) def next(self): if not self.position: # 不持有仓位 if self.crossover > 0: # 如果快速均线上穿慢速均线,则买入 self.buy() elif self.crossover < 0: # 持有仓位且快速均线下穿慢速均线,则卖出 self.sell() if __name__ == '__main__': cerebro = bt.Cerebro() # 初始化 Cerebro 工程对象 data = bt.feeds.YahooFinanceData(dataname='AAPL', fromdate=datetime.datetime(2020, 1, 1), todate=datetime.datetime(2021, 1, 1)) cerebro.adddata(data) # 添加数据给Cerebro引擎处理 cerebro.addstrategy(SmaCross) # 将上述定义好的策略加入到工程中去执行 cerebro.broker.setcash(10000.0) # 设置初始资金量为$10K美元 print('Starting Portfolio Value %.2f' % cerebro.broker.getvalue()) cerebro.run() # 开始运行整个程序逻辑流程 print('Ending Portfolio Value %.2f' % cerebro.broker.getvalue()) cerebro.plot(style='candle') # 可视化结果,默认样式为蜡烛图 ``` 这段代码展示了如何创建一个基于 SMA 的简单交易策略,并通过 Yahoo Finance 获取苹果公司 (AAPL) 历史股价数据进行了模拟操作。最后还可以看到最终的投资组合价值变化情况并生成图表显示出来[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

xg_quant

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

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

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

打赏作者

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

抵扣说明:

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

余额充值