【保姆教程】使用ptrade做一个持仓监控提醒软件 (一)
背景:
因为有多个券商,比如银河,华宝,国金,国盛等。 而且也有家人的账户,可能一个银河就有5-6个账户。
所以如果持仓比较多的话,没有时间管得过来。 设置条件单比较繁琐,也不一定能管得过来。
要求:
把所有的持仓股Excel导出,输入的数据库(这里选择mysql),然后Ptrade读取了股票池,每隔3s扫描一次行情,如果遇到大涨或者大跌的个股,转债,ETF,就发送微信消息提醒(涨幅/跌幅大于7%)
这个是某个客户的简单需求。
后面就按照上面的需求做一个客户端,除了可以录入上述资料,还能提供web服务,输入,删除持仓股,做到实时更新。
最后提醒效果如下:
国金QMT的字样,用来区分我这个标的是哪一个券商的持仓。比如 有可能是 家人1-银河,家人2-国盛,这样的哈
下一篇:
【保姆教程】使用ptrade做一个持仓监控提醒软件 (二)
欢迎关注公众号:可转债量化分析
收起阅读 »
因为有多个券商,比如银河,华宝,国金,国盛等。 而且也有家人的账户,可能一个银河就有5-6个账户。
所以如果持仓比较多的话,没有时间管得过来。 设置条件单比较繁琐,也不一定能管得过来。
要求:
把所有的持仓股Excel导出,输入的数据库(这里选择mysql),然后Ptrade读取了股票池,每隔3s扫描一次行情,如果遇到大涨或者大跌的个股,转债,ETF,就发送微信消息提醒(涨幅/跌幅大于7%)
这个是某个客户的简单需求。
后面就按照上面的需求做一个客户端,除了可以录入上述资料,还能提供web服务,输入,删除持仓股,做到实时更新。
最后提醒效果如下:
国金QMT的字样,用来区分我这个标的是哪一个券商的持仓。比如 有可能是 家人1-银河,家人2-国盛,这样的哈
下一篇:
【保姆教程】使用ptrade做一个持仓监控提醒软件 (二)
欢迎关注公众号:可转债量化分析
![](http://xximg.30daydo.com/picgo/kzz.jpg)
python量化分析教程 | 最近几年A股养老基金整体盈亏情况分析
这几年A股股市走势有目共睹。跌的让人头晕目眩。
不仅是散户被深套,很多基金也都大幅亏损。甚至前阵子看到证券时报报道,养老目标基金都出现不是清盘的现象。
于是笔者好奇心驱使,想看看这些养老基金最近几年的盈利情况,会不会把长辈老人们的下半辈子养老金都亏空了。
作为一名授人以渔的公众号博主,不仅仅贴个收益率图出来这么简单的啦。如果只是想看数据,直接跳过前面的操作即可。
笔者手把手教大家做数据分析,学会后不仅仅只对养老基金这一类别的基金做分析,还可以对不同类型的基金做分析。
前提:电脑按照了python已经相关库(jupyter notebook,pandas,akshare)
数据源:天天基金网
打开东财的天天基金网(https://fund.eastmoney.com/),在基金搜索页面输入:养老
总共有515个与养老相关的公募基金。如果没显示全,点击下图里面的“点击展开更多”按钮
抓包就找到对应的URL地址了,如下:https://fundsuggest.eastmoney.com/FundSearch/api/FundSearchPageAPI.ashx?callback=jQuery18306906210160165065_1721823304653&m=1&key=养老&pageindex=0&pagesize=515&_=1721823360126
如果你想分析其他类型的主题基金,只需要把上面的url里面的key=养老,换成其他的就可以了,比如 key=芯片
浏览器输入上面的URL就可以拿到数据了。
简单起见,我就不写爬取数据的代码,直接复制粘贴浏览器返回的内容就好了。
然后把前面起始的jQuery18306906210160165065_1721823304653( 和最后的括号去掉,就得到一个json数据了。
(文末提供这个数据文件的获取方式)
接着写一个函数获取某个基金的当前收益率:目前就获取最近3年的收益率。
可以改动period='5年', ’10年‘,’成立以来',从而获取不同区间的收益率
接着把500多个基金遍历一遍就OK了。
然后去倒杯茶,慢慢等它跑完。
数据分析
把数据转为dataframe,按照收益率排名
也可以导出到excel
亏损最多的鹏华养老产业股票,最近3年亏损了-53%,不过它应该也不属于养老基金范畴,只是买的养老产业的股票。
而华夏养老2055五年持有混合(FOF)A 011745,这种才是标准的养老基金,这些养老基金大部分是FOF(它们持有标的是基金,而不是股票)
2021年成立,买入后还要锁定5年,期间不可卖出,老人们被套牢了也无法割肉了。成立以来亏损了-34%,近3年亏损了-41%。
于是笔者继续过滤一下,找出里面的全部FOF基金
得到下面的养老基金FOF全部数据
然后使用describe函数看看大体的涨跌幅情况:
总共有484个数据,平均涨幅为-8.38%
中位数是-6.13%。
涨幅最大的是4.85%,中欧预见平衡养老三年持有混合发起(FOF)Y
打开详情一看,原来是得益于成立得晚的缘故,而该基金是今年2月成立的。
最近3年沪深300指数跌了32%,而这个跌幅可以在485只养老基金里面排到了477名。聊以慰藉的是,绝大部分的养老基金在下跌行情下是跑赢了沪深300的。
绘制直方图
直方图可以一览数据得养老基金涨跌幅分布情况:
从图可以看到,大部分养老基金的涨跌幅落在-20到0之间。
亏损达到-30%以上的其实也不是很多。
整体来说,养老基金FOF比买入主流宽基波动要小一些,但并非保本的理财工具,对于风险接受能力低的老一辈朋友,需要慎重考虑的。
原文数据可在公众号:
可转债量化分析
获取
收起阅读 »
不仅是散户被深套,很多基金也都大幅亏损。甚至前阵子看到证券时报报道,养老目标基金都出现不是清盘的现象。
于是笔者好奇心驱使,想看看这些养老基金最近几年的盈利情况,会不会把长辈老人们的下半辈子养老金都亏空了。
作为一名授人以渔的公众号博主,不仅仅贴个收益率图出来这么简单的啦。如果只是想看数据,直接跳过前面的操作即可。
笔者手把手教大家做数据分析,学会后不仅仅只对养老基金这一类别的基金做分析,还可以对不同类型的基金做分析。
前提:电脑按照了python已经相关库(jupyter notebook,pandas,akshare)
数据源:天天基金网
打开东财的天天基金网(https://fund.eastmoney.com/),在基金搜索页面输入:养老
总共有515个与养老相关的公募基金。如果没显示全,点击下图里面的“点击展开更多”按钮
抓包就找到对应的URL地址了,如下:https://fundsuggest.eastmoney.com/FundSearch/api/FundSearchPageAPI.ashx?callback=jQuery18306906210160165065_1721823304653&m=1&key=养老&pageindex=0&pagesize=515&_=1721823360126
如果你想分析其他类型的主题基金,只需要把上面的url里面的key=养老,换成其他的就可以了,比如 key=芯片
浏览器输入上面的URL就可以拿到数据了。
简单起见,我就不写爬取数据的代码,直接复制粘贴浏览器返回的内容就好了。
然后把前面起始的jQuery18306906210160165065_1721823304653( 和最后的括号去掉,就得到一个json数据了。
js_data = {
"ErrCode": 0,
"ErrMsg": "0",
"Datas": [
{
"_id": "001171",
"CODE": "001171",
"NAME": "工银养老产业股票A",
"STOCKMARKET": "",
"NEWTEXCH": ""
},
......... # 省略若干
]
}
(文末提供这个数据文件的获取方式)
接着写一个函数获取某个基金的当前收益率:目前就获取最近3年的收益率。
import akshare as ak
def get_fund_info(code,name):
fund_open_fund_info_em_df = ak.fund_open_fund_info_em(symbol=code, indicator="累计收益率走势",period="3年")
latest_perf = fund_open_fund_info_em_df.iloc[-1]['累计收益率']
return {'code':code,'profit':latest_perf,'name':name}
可以改动period='5年', ’10年‘,’成立以来',从而获取不同区间的收益率
接着把500多个基金遍历一遍就OK了。
fund_perf_list = []
for item in js_data['Datas']:
print('processing code {}'.format(item['CODE']))
try:
fund_perf_list.append(get_fund_info(item['CODE'],item['NAME']))
time.sleep(0.5)
except Exception as e:
print('error in processing code {}'.format(item['CODE']))
print(e)
然后去倒杯茶,慢慢等它跑完。
数据分析
把数据转为dataframe,按照收益率排名
import pandas as pd
df = pd.DataFrame(fund_perf_list)
rank_df = df.sort_values(by='profit')
也可以导出到excel
rank_df.to_excel('亏麻的养老基金.xlsx')
亏损最多的鹏华养老产业股票,最近3年亏损了-53%,不过它应该也不属于养老基金范畴,只是买的养老产业的股票。
而华夏养老2055五年持有混合(FOF)A 011745,这种才是标准的养老基金,这些养老基金大部分是FOF(它们持有标的是基金,而不是股票)
2021年成立,买入后还要锁定5年,期间不可卖出,老人们被套牢了也无法割肉了。成立以来亏损了-34%,近3年亏损了-41%。
于是笔者继续过滤一下,找出里面的全部FOF基金
fof_fund_df = rank_df[rank_df['name'].str.contains('FOF')]
得到下面的养老基金FOF全部数据
然后使用describe函数看看大体的涨跌幅情况:
总共有484个数据,平均涨幅为-8.38%
中位数是-6.13%。
涨幅最大的是4.85%,中欧预见平衡养老三年持有混合发起(FOF)Y
打开详情一看,原来是得益于成立得晚的缘故,而该基金是今年2月成立的。
最近3年沪深300指数跌了32%,而这个跌幅可以在485只养老基金里面排到了477名。聊以慰藉的是,绝大部分的养老基金在下跌行情下是跑赢了沪深300的。
绘制直方图
直方图可以一览数据得养老基金涨跌幅分布情况:
fof_fund_df.plot(kind='hist',bins=20,y='profit',width=2,grid=True)
从图可以看到,大部分养老基金的涨跌幅落在-20到0之间。
亏损达到-30%以上的其实也不是很多。
整体来说,养老基金FOF比买入主流宽基波动要小一些,但并非保本的理财工具,对于风险接受能力低的老一辈朋友,需要慎重考虑的。
原文数据可在公众号:
可转债量化分析
获取
![](http://xximg.30daydo.com/picgo/kzz.jpg)
vs code 插件推荐:标注某个代码位置,快速跳转回该位置
相信大部分会有这样的体验,在一个文件中,经常回修改某一个函数,比如A文件的B function。然后不断打开其他文件C,D,来回切换修改。
因为在修改的时候会在当前文件跳转到其他函数里面比如跳转到D function,又跳到F function。然后继续跳转到其他函数H function。
但是,后面如果要回去A 文件的B function,你就要点击回去A文件,然后再通过搜索A function名字,或者用滚动条一直滚动。
所以整个流程会很浪费时间。
vs code有个插件,叫做bookmarks。
就是为了解决上面的痛点。
只需要在你代码右键,选择 Bookmark,标注了。
该位置就会保存在 左侧的bookmark栏里。
后续你只需要点一下这个bookmark栏的这个地方,就会直接跳转到你标注的行的位置。
大大提升了效率!
插件地址:
https://marketplace.visualstudio.com/items?itemName=alefragnani.Bookmarks
收起阅读 »
因为在修改的时候会在当前文件跳转到其他函数里面比如跳转到D function,又跳到F function。然后继续跳转到其他函数H function。
但是,后面如果要回去A 文件的B function,你就要点击回去A文件,然后再通过搜索A function名字,或者用滚动条一直滚动。
所以整个流程会很浪费时间。
vs code有个插件,叫做bookmarks。
就是为了解决上面的痛点。
只需要在你代码右键,选择 Bookmark,标注了。
该位置就会保存在 左侧的bookmark栏里。
后续你只需要点一下这个bookmark栏的这个地方,就会直接跳转到你标注的行的位置。
大大提升了效率!
插件地址:
https://marketplace.visualstudio.com/items?itemName=alefragnani.Bookmarks
收起阅读 »
华宝证券 华宝期权宝 钱龙 客户端 无法下载的原因
本来想下载一个期权软件下来看看T型交易图。
结果在华宝的官网 找到下载链接,但一直报错:
似乎其他软件也是报错。
500报错,应该是服务器的原因。
然后把链接复制下来:
https://download.cnhbstock.com/download/qlqqb/qlqqbpc/qqbfz.exe
把链接的https 改成 http,
浏览器会提示:
结果就可以下载啦。
说实话,华宝这技术的确不咋地。
这个问题居然没有反馈,没有人去修复吗?
收起阅读 »
结果在华宝的官网 找到下载链接,但一直报错:
似乎其他软件也是报错。
500报错,应该是服务器的原因。
然后把链接复制下来:
https://download.cnhbstock.com/download/qlqqb/qlqqbpc/qqbfz.exe
把链接的https 改成 http,
浏览器会提示:
您的连接不是私密连接然后点击继续访问
攻击者可能会试图从 139.224.24.109 窃取您的信息(例如:密码、通讯内容或信用卡信息)。了解详情
NET::ERR_CERT_COMMON_NAME_INVALID
如果您想获得 Chrome 最高级别
结果就可以下载啦。
说实话,华宝这技术的确不咋地。
这个问题居然没有反馈,没有人去修复吗?
收起阅读 »
ptrade获取的历史数据最长到哪一年?ptrade如何获取上证指数
Ptrade获取日线,分钟线数据最长可以到2005年。
文档里面也有说明:
ptrade官网api接口文档:
https://ptradeapi.com/#
实测也是符合要求的:
ptrade如何获取上证指数, 代码是 000001.SS
ptrade获取上证指数2005年的数据:
需要低佣,低门槛开通ptrade的朋友,可以扫描关注关注号:
收起阅读 »
文档里面也有说明:
7、该接口只能获取2005年后的数据。
ptrade官网api接口文档:
https://ptradeapi.com/#
实测也是符合要求的:
ptrade如何获取上证指数, 代码是 000001.SS
test_data = data = get_price(security='000001.SS',start_date='20050201',end_date='20050630',frequency='1d')
ptrade获取上证指数2005年的数据:
需要低佣,低门槛开通ptrade的朋友,可以扫描关注关注号:
![](http://xximg.30daydo.com/picgo/kzz.jpg)
python自动生成网站sitemap.xml 代码
sitemap格式为:
然后我们要做的就是拿到我们页面上所有的链接地址,填充到这里:
只需要替换上面的http://30daydo.com/article/1 地址就可以了。这个你跟你的完整url规律生成,或者从数据库读取就好了。
然后生成一个文件,自动复制到文章目录就可以了。
完整源码:
https://github.com/Rockyzsu/sitemap_generator
欢迎star,有问题留言。
收起阅读 »
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:mobile="http://www.baidu.com/schemas/s ... gt%3B
<url>
<loc>http://30daydo.com/article/1</loc>
<mobile:mobile type="mobile"/>
<lastmod>2024-06-30</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
</urlset>
然后我们要做的就是拿到我们页面上所有的链接地址,填充到这里:
<url>
<loc>http://30daydo.com/article/1</loc>
<mobile:mobile type="mobile"/>
<lastmod>2024-06-30</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
只需要替换上面的http://30daydo.com/article/1 地址就可以了。这个你跟你的完整url规律生成,或者从数据库读取就好了。
然后生成一个文件,自动复制到文章目录就可以了。
完整源码:
https://github.com/Rockyzsu/sitemap_generator
欢迎star,有问题留言。
收起阅读 »
QMT获取持仓信息报错:AttributeError: 'NoneType' object has no attribute 'request_id'
这个是新手经常遇到的问题。读取持仓信息的时候报错:
代码如下:
原因就是不能init之前去读取
datax = get_position_infos() #这里error
这个函数再最开始的时候就被定义了。没有经过initial初始话函数,很多数据没有获取,从而导致的报错。
欢迎关注交流
![](http://xximg.30daydo.com/picgo/kzz.jpg)
收起阅读 »
代码如下:
原因就是不能init之前去读取
# encoding:gbk
'''
实盘可以执行
固定数量
'''
import datetime
ACCOUNT = ''
def init(ContextInfo):
ContextInfo.set_account(ACCOUNT)
def get_position_infos():
# 信用账户可用资金
position_infos = get_trade_detail_data(ACCOUNT, 'stock', 'position')
pos_dict={}
for pos in position_infos:
code = pos.m_strInstrumentID
if pos.m_nVolume > 0:
pos_dict[code] = pos.m_nVolume
return pos_dict
datax = get_position_infos() # 这里error
def handlebar(ContextInfo):
if ContextInfo.is_last_bar():
current = datetime.datetime.now().strftime('%H:%M:%S.%f')
print(datax)
datax = get_position_infos() #这里error
这个函数再最开始的时候就被定义了。没有经过initial初始话函数,很多数据没有获取,从而导致的报错。
欢迎关注交流
![](http://xximg.30daydo.com/picgo/kzz.jpg)
收起阅读 »
Ptrade成交回调函数无法执行的原因? | ptrade bug
目前的ptrade有一个隐藏很深的bug。
就是回调函数里面有一个字段entrust_no.
这个字段是什么意思呢? 是营业部的下单编号。比如你挂了一个委托单,就会有一个entrust_no, 比如 100001
这个编号对于一天的数据来说,是唯一不重复的,也就是一天内再不会出现100001。
而ptrade的成交回调依赖的是这个entrust_no, 如果系统里面已经触发过了一个entrust_no 为 100001的成交委托,那么如果又有一个重复的订单entrust_no 100001成交,那么,此时的ptrade的 成交回调函数是不会触发的!
那么上面说的一天内这个entrust_no是不会重复的。
可是,这个entrust_no挂单编号,在同一个营业部单元里,第二天会重复的,比如你第二天挂单也是entrust_no 100001,并且你的ptrade策略没有重启,也就是一直运行的话,那么如果碰巧你的下单entrust_no上昨天或者之前某一天(ptrade策略没有重启开始算起),entrust_no重复了的情况下。
此时的ptrade 成交回调函数 on_trade_repsonse 是不会执行的!!!
天坑!
收起阅读 »
就是回调函数里面有一个字段entrust_no.
这个字段是什么意思呢? 是营业部的下单编号。比如你挂了一个委托单,就会有一个entrust_no, 比如 100001
这个编号对于一天的数据来说,是唯一不重复的,也就是一天内再不会出现100001。
而ptrade的成交回调依赖的是这个entrust_no, 如果系统里面已经触发过了一个entrust_no 为 100001的成交委托,那么如果又有一个重复的订单entrust_no 100001成交,那么,此时的ptrade的 成交回调函数是不会触发的!
那么上面说的一天内这个entrust_no是不会重复的。
可是,这个entrust_no挂单编号,在同一个营业部单元里,第二天会重复的,比如你第二天挂单也是entrust_no 100001,并且你的ptrade策略没有重启,也就是一直运行的话,那么如果碰巧你的下单entrust_no上昨天或者之前某一天(ptrade策略没有重启开始算起),entrust_no重复了的情况下。
此时的ptrade 成交回调函数 on_trade_repsonse 是不会执行的!!!
天坑!
收起阅读 »
python redis 是没有 blpush这个操作的
上面的redis代码里面:
报错:
问题在于这一句:
self.conn.blpush(key, value)
python redis里面是没有blpush这个操作的。
也就是没有阻塞插入这个动作。 比如一个list满了,就阻塞插入数据,在python redis里面是没有这个操作。
你可以用llen 先判读一下长度,然后再决定是否插入就可以了。
收起阅读 »
class RedisCls:
def __init__(self):
self.conn = self.getConn()
def getConn(self):
try:
r = redis.Redis(host=redisconfig['redis']['host'], port=redisconfig['redis']['port'], db=0,
decode_responses=True, password=redisconfig['redis']['password'], socket_connect_timeout=5)
except Exception as e:
print(e)
raise IOError('connect redis failed')
else:
return r
def get(self, key):
return self.conn.get(key)
def set(self, key, value):
return self.conn.set(key, value)
def pop(self, key):
print('==== pop data ====')
return self.conn.brpop(key)
def push(self, key, value):
print('==== push data ====')
self.conn.blpush(key, value)
报错:
AttributeError: 'Redis' object has no attribute 'blpush'. Did you mean: 'lpush'?
问题在于这一句:
self.conn.blpush(key, value)
python redis里面是没有blpush这个操作的。
也就是没有阻塞插入这个动作。 比如一个list满了,就阻塞插入数据,在python redis里面是没有这个操作。
你可以用llen 先判读一下长度,然后再决定是否插入就可以了。
收起阅读 »
迅投官网的实例代码好多问题,惨不忍睹
以前喜欢用C替代ContextInfo,现在改过去了,又有部分改的不完整。
还有更多的缩进的问题。
pep8的规范早已经不用tab来做缩进,而是用4个空格。
之前的文章里面也提到了,可以在qmt的配置文件里面改的。不过在UI上是不提供修改的地方。
http://www.30daydo.com/article/44602
收起阅读 »
QMT里定时任务运行时间操作定时任务的间隔,会怎么样?
代码很简单,就是在run_time这个定期运行的任务里面,定期1秒执行一次任务
当时任务运行时间超过1秒钟,比如上面的代码里面用time.sleep(3) 模拟这个超时,等待3秒。
在tick 实盘模式下运行,输出什么的?
答案如下:
每次的start和end之间间隔了3秒钟,然后下一次的start和上一次start的间隔也是在3秒钟,也就是当然时刻的定时任务没有执行完成,下一个时刻的定时任务不会被执行。
那么有人会要求,不想要被运行时间长的任务阻碍了当前的任务,要怎么操作呢? 最简单的方式,加一个多线程就好了。
稍微改动一下上面的代码:
把要执行的任务,写成一个函数,然后使用threading.Thread去执行这个函数, t.star() 就是启动任务。
执行结果如上图,每次的start 间隔只有1秒,当时end是要等待3秒之后才打印出来。但end的输出不会阻塞当前的start输出,start稳定地1秒间隔输出一次,end也在当前start的3秒之后打印出来。
收起阅读 »
当时任务运行时间超过1秒钟,比如上面的代码里面用time.sleep(3) 模拟这个超时,等待3秒。
在tick 实盘模式下运行,输出什么的?
答案如下:
每次的start和end之间间隔了3秒钟,然后下一次的start和上一次start的间隔也是在3秒钟,也就是当然时刻的定时任务没有执行完成,下一个时刻的定时任务不会被执行。
那么有人会要求,不想要被运行时间长的任务阻碍了当前的任务,要怎么操作呢? 最简单的方式,加一个多线程就好了。
稍微改动一下上面的代码:
把要执行的任务,写成一个函数,然后使用threading.Thread去执行这个函数, t.star() 就是启动任务。
执行结果如上图,每次的start 间隔只有1秒,当时end是要等待3秒之后才打印出来。但end的输出不会阻塞当前的start输出,start稳定地1秒间隔输出一次,end也在当前start的3秒之后打印出来。
收起阅读 »
国盛证券的Ptrade数据无论是回测还是实盘很有问题,前复权不正确,数据断崖
连基本的历史数据都无法保证数据正确。
举个例子,比如 煤炭ETF 515220,
在4月12日进行的除权,1股变2股,因此,所以4月12日之后的价格会是原来的1/2,如果做前复权,那么前面的价格也都是要根据当前的价格做复权处理。
结果国盛的ptrade的历史数据,取的是前复权数据,前复权数据,(重点强调),在4月12日的的时候就出现了断崖。也就是没有做复权的处理。
测试代码很简单:
获取历史数据用
get_history,取过去60天的前复权的数据。 然后就是断崖的数据。 已经确定是国盛的ptrade数据问题。因为我用上面的代码,在东莞证券,国金证券,湘财证券的ptrade上运行,均能得到正确的数据。
然后更为搞笑的,这么一个问题,反馈了,没有回应。无语。
收起阅读 »
举个例子,比如 煤炭ETF 515220,
在4月12日进行的除权,1股变2股,因此,所以4月12日之后的价格会是原来的1/2,如果做前复权,那么前面的价格也都是要根据当前的价格做复权处理。
结果国盛的ptrade的历史数据,取的是前复权数据,前复权数据,(重点强调),在4月12日的的时候就出现了断崖。也就是没有做复权的处理。
测试代码很简单:
def initialize(context):运行时间改成任意的就行。
run_daily(context, event, '09:38')
def handle_data(context, data):
pass
def event(context):
his60 = get_history(60, '1d', ['close'], ['515220.SS'], fq='pre', include=False)
print(his60)
获取历史数据用
get_history,取过去60天的前复权的数据。 然后就是断崖的数据。 已经确定是国盛的ptrade数据问题。因为我用上面的代码,在东莞证券,国金证券,湘财证券的ptrade上运行,均能得到正确的数据。
然后更为搞笑的,这么一个问题,反馈了,没有回应。无语。
收起阅读 »
不同券商的数据质量简单对比:国金QMT vs 国信QMT(iquant)
同一段代码,先在国信上跑回测,先获取可转债的1分钟的分笔数据,发现一些时间段里的成交额居然是0. (数据已经先下载好了)
点击打开大图
上面的amount字段(成交额),返回的是0。
看了一下对应的转债,没有停牌,是有正常数据交易的。
然后用国金的QMT记性交叉验证。同样的代码
点击打开大图
国金的是正常的。只是成交量的小数浮点位是不是有点多了? 可能用的numy的默认9位,没有做处理而已。
【在写这个文章的时候发现国信的qmt的volume成交量是有数据的,那么其实可以用价格x成交量=成交额,间接获取成交额,大坑】
点击打开大图
附测试源码:
点击打开大图
上面的amount字段(成交额),返回的是0。
看了一下对应的转债,没有停牌,是有正常数据交易的。
然后用国金的QMT记性交叉验证。同样的代码
点击打开大图
国金的是正常的。只是成交量的小数浮点位是不是有点多了? 可能用的numy的默认9位,没有做处理而已。
【在写这个文章的时候发现国信的qmt的volume成交量是有数据的,那么其实可以用价格x成交量=成交额,间接获取成交额,大坑】
点击打开大图
附测试源码:
# coding:gbk收起阅读 »
# 公众号:可转债量化分析
DEBUG = True
import time
def get_datetime(ContextInfo):
# 获取当前时间
index = ContextInfo.barpos
realtime = ContextInfo.get_bar_timetag(index)
date = timetag_to_datetime(realtime, "%Y-%m-%d %H:%M:%S")
if DEBUG:
print('当前日期 ', date)
return date
def init(ContextInfo):
print("==============start==========")
ContextInfo.start = '2024-03-27 10:00:00'
ContextInfo.end = '2024-03-29 10:00:00'
#
#ContextInfo.end = '2023-01-05'
#ContextInfo.start = '2023-01-16'
print('init')
def handlebar(ContextInfo):
# 回测的时候不需要
#if not ContextInfo.is_last_bar():
# print('return')
# return
get_datetime(ContextInfo)
print('handlebar')
data = ContextInfo.get_market_data(['quoter'], stock_code = ['123167.SZ'], skip_paused = True, period = 'tick', dividend_type = 'front')
#data = ContextInfo.get_market_data(['close'], stock_code = ['113567.SH'], skip_paused = True, period = '1d', dividend_type = 'front')
#print(type(data))
print(data)
def stop(ContextInfo):
print( 'strategy is stop !')
国金证券的融券数量多吗?什么是专项券源?
因为国金的两融开通太方便了,不用跑柜台。app就可以开通,而且融资利率低,5%。
那么融券呢?
今天特意问了下经理,他发了一个融券的表格给我。
目前国金里面一般开通了融资融券的投资者,可用的券源有290个左右,随借随还的。说实话,这个数量不算太多。
而且里面的个股,部分也只能融100股,几百股的。所以即使被你融到券,实际下来的绝对收益也不会太高。
不过它也有一个专项券源。
它有资金要求,前20个交易日日均资产不低于300万元,才能够申请。
发现里面的券,主要是深圳交易所的为主,占了90%以上。
而且专项券源里面的可融券数量也比普通券源的要多很多,几千股,上万股的。
公共券源 :
实时可借 ,随时可融券卖出, 随借随还,融券卖出开仓后最快下一交易日方可归还融券负债 信用账户融券费率 按使用天数计息,算头不算尾
操作步骤: 融券卖出(所有客户端)
专项券源:
实时可借 ,审批划拨成功后当日专项融券卖出, 固定期限(一般28天以内),不可提前归还 ;
专项融券头寸占用费率 : 按专项头寸合约期限计息,不论合约期限内客户是否使用券源,均需支付专项头寸合约占用利息,算头算尾
操作步骤:
第1步:专项融券头寸申请(佣金宝APP/国金太阳至强版)
第2步:专项融券卖出(佣金宝APP/国金太阳至强版)
收起阅读 »
那么融券呢?
今天特意问了下经理,他发了一个融券的表格给我。
目前国金里面一般开通了融资融券的投资者,可用的券源有290个左右,随借随还的。说实话,这个数量不算太多。
而且里面的个股,部分也只能融100股,几百股的。所以即使被你融到券,实际下来的绝对收益也不会太高。
不过它也有一个专项券源。
它有资金要求,前20个交易日日均资产不低于300万元,才能够申请。
发现里面的券,主要是深圳交易所的为主,占了90%以上。
而且专项券源里面的可融券数量也比普通券源的要多很多,几千股,上万股的。
公共券源 :
实时可借 ,随时可融券卖出, 随借随还,融券卖出开仓后最快下一交易日方可归还融券负债 信用账户融券费率 按使用天数计息,算头不算尾
操作步骤: 融券卖出(所有客户端)
专项券源:
实时可借 ,审批划拨成功后当日专项融券卖出, 固定期限(一般28天以内),不可提前归还 ;
专项融券头寸占用费率 : 按专项头寸合约期限计息,不论合约期限内客户是否使用券源,均需支付专项头寸合约占用利息,算头算尾
操作步骤:
第1步:专项融券头寸申请(佣金宝APP/国金太阳至强版)
第2步:专项融券卖出(佣金宝APP/国金太阳至强版)
收起阅读 »
程序自动获取限购-溢价LOF基金套利,并推送到微信消息
最近2个月QDII的套利机会挺多的。
如前面的印度基金LOF,嘉实原油LOF,全球芯片LOF,到现在的标普500LOF。
如果平时工作繁忙,没有时间每天翻看基金的公告,或者没时间看大V们公众号消息推送。
或者自己想要遍历所有限购状态的LOF基金,并自动筛选出溢价的可套利标的,提前埋伏。
那么可以自己动手,写个简单的监控推送程序。
微信推送电脑安装必要的python环境,和pandas,akshare库。
获取所有基金的数据
得到大概2万个基金数据。
然后剩下的就是过滤条件了,因为这里面包含了很多货基,债基等我们不需要的基金类型。
用value_counts 就知道有多少种类型:
平时我们做套利的,一般以QDII基金为主,大部分的情况是因为外汇额度用完而导致的限购。
所以监控的品种可以选择QDII类型或者海外股票等。
示例里笔者选一个 指数型-海外股票
然后过来条件按照个人喜好来设定:
比如选择限购1万以下的LOF:
得到下面的结果:
因为上面的返回数据没有溢价率,所以我们就需要自己写个获取溢价率的函数去处理一下:
上面循环里会自动把没有对应场内基金的数据过滤掉。
运行2秒就得到了数据:
然后我们发现这几只限购的是处于轻微折价状态,只有易方达标普500LOF是溢价26%,只有它可以开拖拉机去套的。
微信推送
最后是发消息通知自己。早期开通的个人企业微信API,可以直接使用微信的API发送消息。如果现在申请,需要有自己的个人域名和备案。
可以设定溢价率大于某个阈值才发送消息。比如溢价率大于4以上才发送。
为了演示,去掉这个条件,把全部数据的都发送吧。
效果图
然后就可以把全部代码放在一起,用windows的定时任务或者linux的crontab自动运行了。
目前QMT,Ptrade不支持拖拉机账号,所以自动化拖拉机的功能就实现不了了哈。
PS:顺便附录一份全部限购1万以下的基金全表。
需要的关注公众号后台回复:基金限购名单
获取即可。
收起阅读 »
如前面的印度基金LOF,嘉实原油LOF,全球芯片LOF,到现在的标普500LOF。
如果平时工作繁忙,没有时间每天翻看基金的公告,或者没时间看大V们公众号消息推送。
或者自己想要遍历所有限购状态的LOF基金,并自动筛选出溢价的可套利标的,提前埋伏。
那么可以自己动手,写个简单的监控推送程序。
微信推送电脑安装必要的python环境,和pandas,akshare库。
获取所有基金的数据
import akshare as ak
fund_purchase_em_df = ak.fund_purchase_em()
得到大概2万个基金数据。
然后剩下的就是过滤条件了,因为这里面包含了很多货基,债基等我们不需要的基金类型。
用value_counts 就知道有多少种类型:
平时我们做套利的,一般以QDII基金为主,大部分的情况是因为外汇额度用完而导致的限购。
所以监控的品种可以选择QDII类型或者海外股票等。
示例里笔者选一个 指数型-海外股票
然后过来条件按照个人喜好来设定:
比如选择限购1万以下的LOF:
def filter_func(df,type='指数型-海外股票'):
df = df[~df['基金代码'].str.startswith('0')]
condition1 = df['申购状态']=='限大额'
condition2 = df['基金类型']==type
df = df[condition1 & condition2]
df= df[~df['基金简称'].str.contains('ETF')]
df = df[(df['日累计限定金额']>0) & (df['日累计限定金额']<=10000)]
df['基金代码'] = df['基金代码'].map(lambda x: 'SH'+x if x.startswith('5') else 'SZ'+x)
return df
得到下面的结果:
因为上面的返回数据没有溢价率,所以我们就需要自己写个获取溢价率的函数去处理一下:
import requests
cookies = # 雪球上获取,不一定需要登录状态
headers = {
'authority': 'stock.xueqiu.com',
'origin': 'https://xueqiu.com',
'user-agent': 'Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1C28 Safari/419.3',
}
def fund_premium_rate(code):
params = {
'symbol': code,
'extend': 'detail',
}
response = requests.get('https://stock.xueqiu.com/v5/stock/quote.json', params=params,
cookies=cookies,
headers=headers)
try:
rate = response.json()['data']['quote']['premium_rate']
except Exception as e:
return None
else:
return rate
上面循环里会自动把没有对应场内基金的数据过滤掉。
运行2秒就得到了数据:
然后我们发现这几只限购的是处于轻微折价状态,只有易方达标普500LOF是溢价26%,只有它可以开拖拉机去套的。
微信推送
最后是发消息通知自己。早期开通的个人企业微信API,可以直接使用微信的API发送消息。如果现在申请,需要有自己的个人域名和备案。
可以设定溢价率大于某个阈值才发送消息。比如溢价率大于4以上才发送。
for code,name in code_name_mapper.items():
rate = fund_premium_rate(code)
if rate is not None:
print(f'{code} - {name}的溢价率是: {rate}')
if rate > 4:
send_message_via_wechat(f'{code} - {name}的溢价率是: {rate}, 可以关注套利。 公众号:可转债量化分析')
为了演示,去掉这个条件,把全部数据的都发送吧。
效果图
然后就可以把全部代码放在一起,用windows的定时任务或者linux的crontab自动运行了。
目前QMT,Ptrade不支持拖拉机账号,所以自动化拖拉机的功能就实现不了了哈。
PS:顺便附录一份全部限购1万以下的基金全表。
需要的关注公众号后台回复:基金限购名单
获取即可。
![](http://xximg.30daydo.com/picgo/kzz.jpg)
108个AI工具,写作、翻译、设计、音视频、代码、文件处理大全集
文心一言
https://yiyan.baidu.com
·简介:综合型AI:内容生成、文档分析、图像分析、图表制作、脑图……
·通义千问
https://tongyi.aliyun.com
·综合型AI:内容生成、文档分析、图像分析……
·Kimi(月之暗面)
https://kimi.moonshot.cn
· 综合型AI:内容生成、文档分析、灵感推荐……
·腾讯混元
https://hunyuan.tencent.com/bot/chat
·综合型AI:内容生成、文档分析、灵感推荐……
·讯飞星火
https://xinghuo.xfyun.cn
·综合型AI:内容生成……
抖音豆包
https://www.doubao.com
综合型AI:内容生成,偏互联网运营方向……
智谱AI
https://open.bigmodel.cn
综合型AI:内容生成、知识问答……
百川智能
https://www.baichuan-ai.com/chat
综合型AI:内容生成、文档分析、互联网搜索……
360智脑
https://ai.360.com
综合型AI:360智脑全家桶……
字节小悟空
https://wukong.com/tool
综合型AI:字节跳动内容生成工具集
达观数据曹植
http://www.datagrand.com/
行业垂域大模型
02
聊天/内容生成
360数字员工
https://ai.360.com
团队协作共享,企业知识库、AI文档分析、AI营销文案、AI文书写作等智能工具
有道AI
https://ai.youdao.com
文档、翻译、视觉、语音、教育……
03
AI办公-Office
AiPPT
https://www.aippt.cn
自动生成PPT大纲、模板、Word-PPT……
iSlide
https://www.islide.cc
AI 一键设计 PPT
WPS AI
https://ai.wps.cn
WPS的AI插件(智能PPT、表格、文档整理……)
ChatPPT
http://www.chat-ppt.com
AI插件,支持Office、WPS,自动文档生成
360苏打办公
https://bangong.360.cn
AI办公工具集:文档、视频、设计、开发……
酷表ChatExcel
https://chatexcel.com
智能Excel公式
商汤办公小浣熊
https://raccoon.sensetime.com
智能图表
04
AI办公-会议纪要
讯飞听见
https://www.iflyrec.com
音视频转文字,实时录音转文字,同传,翻译……
阿里通义听悟
https://tingwu.aliyun.com
实时转录,音视频转文字,互联网内容提炼……
飞书妙记
https://www.feishu.cn/product/ ... e.com
飞书文档中的会议纪要工具,实时转录,音视频转文字
腾讯会议AI
https://meeting.tencent.com/ai/index.html
腾讯会议录制后会议纪要整理
05
AI办公-脑图
ProcessOn
https://www.processon.com
AI思维导图
亿图脑图
https://www.edrawsoft.cn/mindmaster
AI思维导图
GitMind思乎
https://gitmind.cn/
AI思维导图
boardmix 博思白板
https://boardmix.cn/ai-whiteboard
实时协作的智慧白板上,一键生成PPT、用AI协助创作思维导图、AI绘画、AI写作,共享资源素材
妙办画板
https://imiaoban.com
生成流程图、思维导图
06
AI办公-文档
司马阅AI文档
https://smartread.cc/
每天免费100次提问,AI文档阅读分析工具,通过聊天互动形式,精准地从复杂文档提取并分析信息
360AI浏览器
https://ai.360.com
智能摘要、文章脉络、思维导图等
07
AI写作
有道云笔记AI
https://note.youdao.com
有道云笔记写作插件,改写扩写润色……
腾讯 Effidit
https://effidit.qq.com
智能纠错、文本补全、文本改写、文本扩写、词语推荐、句子推荐与生成等功能
讯飞写作
https://huixie.iflyrec.com
AI对话写作、模板写作、素材、润色……
深言达意
https://www.shenyandayi.com
根据模糊描述,找词找句的智能写作工具
阿里悉语
https://login.taobao.com
淘宝专用的商品文案生成,输入商品的淘宝链接即可获得文案
字节火山写作
https://www.writingo.net
全文润色的AI智能写作
秘塔写作猫
https://xiezuocat.com
AI写作模板,AI写作工具,指令扩写润色……
光速写作
https://guangsuxie.com
作业帮旗下:全文生成、PPT生成、问答助手、写作助手
WriteWise
https://www.ximalaya.com/gatek ... ot.cn
喜马拉雅小说创作工具
笔灵AI
https://ibiling.cn
一键生成工作计划、文案方案……
易撰
https://www.yizhuan5.com
自媒体内容
Giiso写作机器人
https://www.giiso.com
写作、文配图、风格转换、文生图……
5118 SEO优化精灵
https://www.5118.com/seometa
快速生成高质量SEO标题、Meta描述和关键字,轻松提升网站搜索引擎排名
08
AI翻译
沉浸式翻译
https://immersivetranslate.com
翻译外语网页,PDF翻译,EPUB电子书翻译,视频双语字幕翻译等
彩云小译
https://fanyi.caiyunapp.com
多种格式文档的翻译、同声传译、文档翻译和网页翻译。
网易见外
https://sight.youdao.com
字幕、音频转写、同传、文档翻译……
09
AI搜索引擎
天工AI搜索(昆仑万维)
https://search.tiangong.cn
找资料、查信息、搜答案、搜文件,还会对海量搜索结果做AI智能聚合
360AI搜索
https://ai.360.com
AI搜索能够从海量的网站中主动寻找、提炼精准答案
秘塔AI搜索
https://metaso.cn
没有广告,直达结果
perplexity.ai
www.perplexity.ai
黄仁勋带货的AI搜索引擎
sciphi.ai
https://search.sciphi.ai
AI搜索引擎
devv.ai
https://devv.ai
为开发人员打造的人工智能驱动的搜索引擎
10
聊天/内容生成
通义万相
https://tongyi.aliyun.com
AI生成图片,人工智能艺术创作大模型
文心一格
https://yige.baidu.com
文生图像
剪映AI
https://www.capcut.cn
剪映一键生成AI绘画
腾讯ARC
https://arc.tencent.com
人像修复、人像抠图、动漫增强
360智绘
https://ai.360.com
风格化AI绘画、Lora训练
无限画
https://588ku.com/ai/wuxianhua/Home
智能图像设计,整合千库网的设计行业知识经验、资源数据
美图设计室
https://www.x-design.com
图像智能处理,海报设计……
liblib.ai
https://www.liblib.ai
AI 模型分享平台-各种风格的图像微调模型
Tusi.Art
https://tusiart.com
AI 模型分享平台
标小智Logo生成
https://www.logosc.cn
在线LOGO设计,生成企业VI
佐糖
https://picwish.cn
丰富的图像处理工具
Vega AI
https://vegaai.net
文生图,图生图,姿态生图,文生视频,图生视频……
美图WHEE
https://www.whee.com
文生图,图生图,文生视频,扩图改图超清……
无界AI
https://www.wujieai.com
文生图
BgSub
https://bgsub.cn
抠图
阿里PicCopilot
https://www.piccopilot.com
阿里巴巴国际,AI驱动图片优化工具,专门为电商领域提供服务
搜狐简单AI
https://ai.sohu.com 智能图片生成平台和社区
6pen
https://6pen.art
文本描述生成绘画艺术作品
11
AI设计
阿里堆友
https://d.design
面向设计师群体的AI设计社区
稿定AI
https://www.gaoding.com
图像设计
墨刀AI
https://modao.cc
产品设计协作平台
莫高设计MasterGo AI
https://mastergo.com
AI时代的企业级产品设计平台,界面设计、交互设计……
创客贴AI
https://www.chuangkit.com
图形图像设计
即时AI
https://js.design/ai
文生UI,文生图,图生UI……
PixsO AI
https://pixso.cn
新生代UI设计工具
抖音即创
https://aic.oceanengine.com
抖音电商智能创作平台,提供AI视频创作、图文创作和直播创作
腾讯 AIDesign
https://ailogo.qq.com
腾讯的logo设计
美间
https://www.meijian.com
AI软装设计、海报和提案生成工具
12
AI音频
度加创作工具
https://aigc.baidu.com
热搜一键成稿,文稿一键成片
魔音工坊
https://www.moyin.com
AI配音工具
网易天音
https://tianyin.music.163.com
智能编曲,海量风格
TME Studio
https://y.qq.com/tme_studio
腾讯音乐智能音乐生成工具
讯飞智作
https://www.xfzhizuo.cn
配音、声音定制、虚拟主播、音视频处理……
13
AI视频
PixVerse
https://pixverse.ai
文生视频
绘影字幕
https://huiyingzimu.com
AI字幕,翻译、配音……
万彩微影
https://www.animiz.cn/microvideo
真人手绘视频、翻转文字视频、文章转视频、相册视频工具……
芦笋AI提词器
https://tcq.lusun.com
持AI写稿、隐形提词效果、支持智能跟读
360快剪辑
https://kuai.360.cn 专业视频剪辑
万彩AI
https://ai.kezhan365.com
高效、好用的AI写作和短视频创作平台
14
数字人
腾讯智影
https://zenvideo.qq.com
数字人、文本配音、文章转视频……
来画
https://www.laihua.com
动画、数字人智能制作
一帧秒创
https://aigc.yizhentv.com
AI视频,数字人、AI作画……
万兴播爆
https://virbo.wondershare.cn
数字人,真人营销视频
15
AI写代码
昇思MindSpore
https://www.mindspore.cn
面向开发者的一站式AI开发平台,提供海量数据预处理及半自动化标注、大规模分布式Training、自动化模型生成
百度飞桨PaddlePaddle AI Code assistant https://www.paddlepaddle.org.cn
在线编程,海量数据集
ZelinAI
https://www.zelinai.com
零代码构建AI应用
aiXcoder
https://www.aixcoder.com
基于深度学习代码生成技术的智能编程机器人
商汤代码小浣熊
https://raccoon.sensetime.com/code
代码生成补全翻译重构……
CodeArtsSnap https://www.huaweicloud.com/pr ... .html
覆盖代码生成、研发知识问答、单元测试用例生成、代码解释、代码注释、代码翻译、代码调试、代码检查等八大研发场景
天工智码
https://sky-code.singularity-ai.com/index.html#/
基于昆仑天工模型的AI代码工具
16
模型训练/部署
火山方舟
https://www.volcengine.com/product/ark 模型训练、推理、评测、精调等全方位功能与服务
魔搭社区
https://modelscope.cn
阿里达摩院,提供模型探索体验、推理、训练、部署和应用的一站式服务
文心大模型
https://wenxin.baidu.com
产业级知识增强大模型
17
AI提示词
提示工程指南
www.promptingguide.ai
如何使用提示词来完成不同的任务
词魂
https://icihun.com/
AIGC精品提示词库
收起阅读 »
https://yiyan.baidu.com
·简介:综合型AI:内容生成、文档分析、图像分析、图表制作、脑图……
·通义千问
https://tongyi.aliyun.com
·综合型AI:内容生成、文档分析、图像分析……
·Kimi(月之暗面)
https://kimi.moonshot.cn
· 综合型AI:内容生成、文档分析、灵感推荐……
·腾讯混元
https://hunyuan.tencent.com/bot/chat
·综合型AI:内容生成、文档分析、灵感推荐……
·讯飞星火
https://xinghuo.xfyun.cn
·综合型AI:内容生成……
抖音豆包
https://www.doubao.com
综合型AI:内容生成,偏互联网运营方向……
智谱AI
https://open.bigmodel.cn
综合型AI:内容生成、知识问答……
百川智能
https://www.baichuan-ai.com/chat
综合型AI:内容生成、文档分析、互联网搜索……
360智脑
https://ai.360.com
综合型AI:360智脑全家桶……
字节小悟空
https://wukong.com/tool
综合型AI:字节跳动内容生成工具集
达观数据曹植
http://www.datagrand.com/
行业垂域大模型
02
聊天/内容生成
360数字员工
https://ai.360.com
团队协作共享,企业知识库、AI文档分析、AI营销文案、AI文书写作等智能工具
有道AI
https://ai.youdao.com
文档、翻译、视觉、语音、教育……
03
AI办公-Office
AiPPT
https://www.aippt.cn
自动生成PPT大纲、模板、Word-PPT……
iSlide
https://www.islide.cc
AI 一键设计 PPT
WPS AI
https://ai.wps.cn
WPS的AI插件(智能PPT、表格、文档整理……)
ChatPPT
http://www.chat-ppt.com
AI插件,支持Office、WPS,自动文档生成
360苏打办公
https://bangong.360.cn
AI办公工具集:文档、视频、设计、开发……
酷表ChatExcel
https://chatexcel.com
智能Excel公式
商汤办公小浣熊
https://raccoon.sensetime.com
智能图表
04
AI办公-会议纪要
讯飞听见
https://www.iflyrec.com
音视频转文字,实时录音转文字,同传,翻译……
阿里通义听悟
https://tingwu.aliyun.com
实时转录,音视频转文字,互联网内容提炼……
飞书妙记
https://www.feishu.cn/product/ ... e.com
飞书文档中的会议纪要工具,实时转录,音视频转文字
腾讯会议AI
https://meeting.tencent.com/ai/index.html
腾讯会议录制后会议纪要整理
05
AI办公-脑图
ProcessOn
https://www.processon.com
AI思维导图
亿图脑图
https://www.edrawsoft.cn/mindmaster
AI思维导图
GitMind思乎
https://gitmind.cn/
AI思维导图
boardmix 博思白板
https://boardmix.cn/ai-whiteboard
实时协作的智慧白板上,一键生成PPT、用AI协助创作思维导图、AI绘画、AI写作,共享资源素材
妙办画板
https://imiaoban.com
生成流程图、思维导图
06
AI办公-文档
司马阅AI文档
https://smartread.cc/
每天免费100次提问,AI文档阅读分析工具,通过聊天互动形式,精准地从复杂文档提取并分析信息
360AI浏览器
https://ai.360.com
智能摘要、文章脉络、思维导图等
07
AI写作
有道云笔记AI
https://note.youdao.com
有道云笔记写作插件,改写扩写润色……
腾讯 Effidit
https://effidit.qq.com
智能纠错、文本补全、文本改写、文本扩写、词语推荐、句子推荐与生成等功能
讯飞写作
https://huixie.iflyrec.com
AI对话写作、模板写作、素材、润色……
深言达意
https://www.shenyandayi.com
根据模糊描述,找词找句的智能写作工具
阿里悉语
https://login.taobao.com
淘宝专用的商品文案生成,输入商品的淘宝链接即可获得文案
字节火山写作
https://www.writingo.net
全文润色的AI智能写作
秘塔写作猫
https://xiezuocat.com
AI写作模板,AI写作工具,指令扩写润色……
光速写作
https://guangsuxie.com
作业帮旗下:全文生成、PPT生成、问答助手、写作助手
WriteWise
https://www.ximalaya.com/gatek ... ot.cn
喜马拉雅小说创作工具
笔灵AI
https://ibiling.cn
一键生成工作计划、文案方案……
易撰
https://www.yizhuan5.com
自媒体内容
Giiso写作机器人
https://www.giiso.com
写作、文配图、风格转换、文生图……
5118 SEO优化精灵
https://www.5118.com/seometa
快速生成高质量SEO标题、Meta描述和关键字,轻松提升网站搜索引擎排名
08
AI翻译
沉浸式翻译
https://immersivetranslate.com
翻译外语网页,PDF翻译,EPUB电子书翻译,视频双语字幕翻译等
彩云小译
https://fanyi.caiyunapp.com
多种格式文档的翻译、同声传译、文档翻译和网页翻译。
网易见外
https://sight.youdao.com
字幕、音频转写、同传、文档翻译……
09
AI搜索引擎
天工AI搜索(昆仑万维)
https://search.tiangong.cn
找资料、查信息、搜答案、搜文件,还会对海量搜索结果做AI智能聚合
360AI搜索
https://ai.360.com
AI搜索能够从海量的网站中主动寻找、提炼精准答案
秘塔AI搜索
https://metaso.cn
没有广告,直达结果
perplexity.ai
www.perplexity.ai
黄仁勋带货的AI搜索引擎
sciphi.ai
https://search.sciphi.ai
AI搜索引擎
devv.ai
https://devv.ai
为开发人员打造的人工智能驱动的搜索引擎
10
聊天/内容生成
通义万相
https://tongyi.aliyun.com
AI生成图片,人工智能艺术创作大模型
文心一格
https://yige.baidu.com
文生图像
剪映AI
https://www.capcut.cn
剪映一键生成AI绘画
腾讯ARC
https://arc.tencent.com
人像修复、人像抠图、动漫增强
360智绘
https://ai.360.com
风格化AI绘画、Lora训练
无限画
https://588ku.com/ai/wuxianhua/Home
智能图像设计,整合千库网的设计行业知识经验、资源数据
美图设计室
https://www.x-design.com
图像智能处理,海报设计……
liblib.ai
https://www.liblib.ai
AI 模型分享平台-各种风格的图像微调模型
Tusi.Art
https://tusiart.com
AI 模型分享平台
标小智Logo生成
https://www.logosc.cn
在线LOGO设计,生成企业VI
佐糖
https://picwish.cn
丰富的图像处理工具
Vega AI
https://vegaai.net
文生图,图生图,姿态生图,文生视频,图生视频……
美图WHEE
https://www.whee.com
文生图,图生图,文生视频,扩图改图超清……
无界AI
https://www.wujieai.com
文生图
BgSub
https://bgsub.cn
抠图
阿里PicCopilot
https://www.piccopilot.com
阿里巴巴国际,AI驱动图片优化工具,专门为电商领域提供服务
搜狐简单AI
https://ai.sohu.com 智能图片生成平台和社区
6pen
https://6pen.art
文本描述生成绘画艺术作品
11
AI设计
阿里堆友
https://d.design
面向设计师群体的AI设计社区
稿定AI
https://www.gaoding.com
图像设计
墨刀AI
https://modao.cc
产品设计协作平台
莫高设计MasterGo AI
https://mastergo.com
AI时代的企业级产品设计平台,界面设计、交互设计……
创客贴AI
https://www.chuangkit.com
图形图像设计
即时AI
https://js.design/ai
文生UI,文生图,图生UI……
PixsO AI
https://pixso.cn
新生代UI设计工具
抖音即创
https://aic.oceanengine.com
抖音电商智能创作平台,提供AI视频创作、图文创作和直播创作
腾讯 AIDesign
https://ailogo.qq.com
腾讯的logo设计
美间
https://www.meijian.com
AI软装设计、海报和提案生成工具
12
AI音频
度加创作工具
https://aigc.baidu.com
热搜一键成稿,文稿一键成片
魔音工坊
https://www.moyin.com
AI配音工具
网易天音
https://tianyin.music.163.com
智能编曲,海量风格
TME Studio
https://y.qq.com/tme_studio
腾讯音乐智能音乐生成工具
讯飞智作
https://www.xfzhizuo.cn
配音、声音定制、虚拟主播、音视频处理……
13
AI视频
PixVerse
https://pixverse.ai
文生视频
绘影字幕
https://huiyingzimu.com
AI字幕,翻译、配音……
万彩微影
https://www.animiz.cn/microvideo
真人手绘视频、翻转文字视频、文章转视频、相册视频工具……
芦笋AI提词器
https://tcq.lusun.com
持AI写稿、隐形提词效果、支持智能跟读
360快剪辑
https://kuai.360.cn 专业视频剪辑
万彩AI
https://ai.kezhan365.com
高效、好用的AI写作和短视频创作平台
14
数字人
腾讯智影
https://zenvideo.qq.com
数字人、文本配音、文章转视频……
来画
https://www.laihua.com
动画、数字人智能制作
一帧秒创
https://aigc.yizhentv.com
AI视频,数字人、AI作画……
万兴播爆
https://virbo.wondershare.cn
数字人,真人营销视频
15
AI写代码
昇思MindSpore
https://www.mindspore.cn
面向开发者的一站式AI开发平台,提供海量数据预处理及半自动化标注、大规模分布式Training、自动化模型生成
百度飞桨PaddlePaddle AI Code assistant https://www.paddlepaddle.org.cn
在线编程,海量数据集
ZelinAI
https://www.zelinai.com
零代码构建AI应用
aiXcoder
https://www.aixcoder.com
基于深度学习代码生成技术的智能编程机器人
商汤代码小浣熊
https://raccoon.sensetime.com/code
代码生成补全翻译重构……
CodeArtsSnap https://www.huaweicloud.com/pr ... .html
覆盖代码生成、研发知识问答、单元测试用例生成、代码解释、代码注释、代码翻译、代码调试、代码检查等八大研发场景
天工智码
https://sky-code.singularity-ai.com/index.html#/
基于昆仑天工模型的AI代码工具
16
模型训练/部署
火山方舟
https://www.volcengine.com/product/ark 模型训练、推理、评测、精调等全方位功能与服务
魔搭社区
https://modelscope.cn
阿里达摩院,提供模型探索体验、推理、训练、部署和应用的一站式服务
文心大模型
https://wenxin.baidu.com
产业级知识增强大模型
17
AI提示词
提示工程指南
www.promptingguide.ai
如何使用提示词来完成不同的任务
词魂
https://icihun.com/
AIGC精品提示词库
收起阅读 »
chatGPT一键生成漫画故事!| 手把手保姆教程
鲨鱼与美女
鲨鱼与美女
上面的漫画图是通过一句话描述生成的漫画图片。
下面小编手把手带大家来使用chatGPT生成属于你的漫画。
首先打开网站:
https://dashtoon.com/
官网根据提示注册账号,用邮箱注册就可以了,或者如果你有Google账号,直接用Google账号关联登录。[注册]
注册然后就可以开始创作属于你的漫画故事。
点击顶部的“Create new dashtoon"
开始创作
填入故事情节在故事描述栏里面,详细描述你的故事情节。可以用中文去写。
比如上面的例子是:一个年轻的亚洲姑娘,因为炒股失败,没有钱,沦落到去KTV做陪唱小姐然后它会自动帮你生成一段有具体情节的故事。
生成情节生成的情节是用英文描述的,你可以根据其中的细节修改润色。然后直接点击“Next” 下一步。
风格选择漫画色调和风格。
人物选择人物角色风格,我选一个清纯的中国妹子风格。
点击下一步,进入生成漫画过程:
生成中这一步比较慢,要等个1-2分钟。
生成之后点击右下角的“Publish"发布
发布然后会生成一张长长的漫画大图。[效果图]
效果图
效果图你可以不用点击publish发布。直接点击手机里面的图片,右键,另存为图片。
然后图片就可以下载下来了。
沦落到KTV陪唱还这么开心?因为小编是直接一步生成,中间没有微调,所以故事看起来差强人意。
中间还有很多细节可以调节,比如故事情节,人脸细节,服饰等等。
篇幅有限,接下来读者朋友可以自己上去网站动手创作,属于你的漫画集吧
中间还有很多细节可以调节,比如故事情节,人脸细节,服饰等等。 收起阅读 »
鲨鱼与美女
上面的漫画图是通过一句话描述生成的漫画图片。
下面小编手把手带大家来使用chatGPT生成属于你的漫画。
首先打开网站:
https://dashtoon.com/
官网根据提示注册账号,用邮箱注册就可以了,或者如果你有Google账号,直接用Google账号关联登录。[注册]
注册然后就可以开始创作属于你的漫画故事。
点击顶部的“Create new dashtoon"
开始创作
填入故事情节在故事描述栏里面,详细描述你的故事情节。可以用中文去写。
比如上面的例子是:一个年轻的亚洲姑娘,因为炒股失败,没有钱,沦落到去KTV做陪唱小姐然后它会自动帮你生成一段有具体情节的故事。
生成情节生成的情节是用英文描述的,你可以根据其中的细节修改润色。然后直接点击“Next” 下一步。
风格选择漫画色调和风格。
人物选择人物角色风格,我选一个清纯的中国妹子风格。
点击下一步,进入生成漫画过程:
生成中这一步比较慢,要等个1-2分钟。
生成之后点击右下角的“Publish"发布
发布然后会生成一张长长的漫画大图。[效果图]
效果图
效果图你可以不用点击publish发布。直接点击手机里面的图片,右键,另存为图片。
然后图片就可以下载下来了。
沦落到KTV陪唱还这么开心?因为小编是直接一步生成,中间没有微调,所以故事看起来差强人意。
中间还有很多细节可以调节,比如故事情节,人脸细节,服饰等等。
篇幅有限,接下来读者朋友可以自己上去网站动手创作,属于你的漫画集吧
中间还有很多细节可以调节,比如故事情节,人脸细节,服饰等等。 收起阅读 »
Ptrade|QMT|银行股息率轮动 实盘自动化交易
看有没有人需要,前排占坑 -- Task --
miniQMT安装包路径 | 下载地址
安装好QMT之后,在QMT的设置里面选择安装python。
等待几分钟,python文件下载好了之后。
找到qmt的安装目录,
进去这里面
\bin.x64\Lib\site-packages\xtquant
把这个目录复制到你的python路径的site-package 下面, 就可以在你的python环境下运行miniQMT了。
当然首先还是要启动你的QMT客户端,勾选极速模式。 (不开的话连不到券商服务器,这以为这无法再linux上单独跑,wine额外另说)
比如下面的获取行情的示例代码,还有直接下单代码
异步下单
需要开通miniQMT(低门槛,低费率)的朋友,
可以扫码联系:或者添加 技术公众号:
![](http://xximg.30daydo.com/picgo/ufc200.png)
公众号:
![](http://xximg.30daydo.com/picgo/kzz.jpg)
收起阅读 »
等待几分钟,python文件下载好了之后。
找到qmt的安装目录,
进去这里面
\bin.x64\Lib\site-packages\xtquant
把这个目录复制到你的python路径的site-package 下面, 就可以在你的python环境下运行miniQMT了。
当然首先还是要启动你的QMT客户端,勾选极速模式。 (不开的话连不到券商服务器,这以为这无法再linux上单独跑,wine额外另说)
比如下面的获取行情的示例代码,还有直接下单代码
# 用前须知
## xtdata提供和MiniQmt的交互接口,本质是和MiniQmt建立连接,由MiniQmt处理行情数据请求,再把结果回传返回到python层。使用的行情服务器以及能获取到的行情数据和MiniQmt是一致的,要检查数据或者切换连接时直接操作MiniQmt即可。
## 对于数据获取接口,使用时需要先确保MiniQmt已有所需要的数据,如果不足可以通过补充数据接口补充,再调用数据获取接口获取。
## 对于订阅接口,直接设置数据回调,数据到来时会由回调返回。订阅接收到的数据一般会保存下来,同种数据不需要再单独补充。
# 代码讲解
# 从本地python导入xtquant库,如果出现报错则说明安装失败
from xtquant import xtdata
import time
# 设定一个标的列表
code_list = ["000001.SZ"]
# 设定获取数据的周期
period = "1d"
# 下载标的行情数据
if 1:
## 为了方便用户进行数据管理,xtquant的大部分历史数据都是以压缩形式存储在本地的
## 比如行情数据,需要通过download_history_data下载,财务数据需要通过
## 所以在取历史数据之前,我们需要调用数据下载接口,将数据下载到本地
for i in code_list:
xtdata.download_history_data(i,period=period,incrementally=True) # 增量下载行情数据(开高低收,等等)到本地
xtdata.download_financial_data(code_list) # 下载财务数据到本地
xtdata.download_sector_data() # 下载板块数据到本地
# 更多数据的下载方式可以通过数据字典查询
# 读取本地历史行情数据
history_data = xtdata.get_market_data_ex(,code_list,period=period,count=-1)
print(history_data)
print("=" * 20)
# 如果需要盘中的实时行情,需要向服务器进行订阅后才能获取
# 订阅后,get_market_data函数于get_market_data_ex函数将会自动拼接本地历史行情与服务器实时行情
# 向服务器订阅数据
for i in code_list:
xtdata.subscribe_quote(i,period=period,count=-1) # 设置count = -1来取到当天所有实时行情
# 等待订阅完成
time.sleep(1)
# 获取订阅后的行情
kline_data = xtdata.get_market_data_ex(,code_list,period=period)
print(kline_data)
# 获取订阅后的行情,并以固定间隔进行刷新,预期会循环打印10次
for i in range(10):
# 这边做演示,就用for来循环了,实际使用中可以用while True
kline_data = xtdata.get_market_data_ex(,code_list,period=period)
print(kline_data)
time.sleep(3) # 三秒后再次获取行情
# 如果不想用固定间隔触发,可以以用订阅后的回调来执行
# 这种模式下当订阅的callback回调函数将会异步的执行,每当订阅的标的tick发生变化更新,callback回调函数就会被调用一次
# 本地已有的数据不会触发callback
# 定义的回测函数
## 回调函数中,data是本次触发回调的数据,只有一条
def f(data):
# print(data)
code_list = list(data.keys()) # 获取到本次触发的标的代码
kline_in_callabck = xtdata.get_market_data_ex(,code_list,period = period) # 在回调中获取klines数据
print(kline_in_callabck)
for i in code_list:
xtdata.subscribe_quote(i,period=period,count=-1,callback=f) # 订阅时设定回调函数
# 使用回调时,必须要同时使用xtdata.run()来阻塞程序,否则程序运行到最后一行就直接结束退出了。
xtdata.run()
异步下单
#coding:utf-8
import time, datetime, traceback, sys
from xtquant import xtdata
from xtquant.xttrader import XtQuantTrader, XtQuantTraderCallback
from xtquant.xttype import StockAccount
from xtquant import xtconstant
#定义一个类 创建类的实例 作为状态的容器
class _a():
pass
A = _a()
A.bought_list =
A.hsa = xtdata.get_stock_list_in_sector('沪深A股')
def interact():
"""执行后进入repl模式"""
import code
code.InteractiveConsole(locals=globals()).interact()
xtdata.download_sector_data()
def f(data):
now = datetime.datetime.now()
for stock in data:
if stock not in A.hsa:
continue
cuurent_price = data[stock]['lastPrice']
pre_price = data[stock]['lastClose']
ratio = cuurent_price / pre_price - 1 if pre_price > 0 else 0
if ratio > 0.09 and stock not in A.bought_list:
print(f"{now} 最新价 买入 {stock} 200股")
async_seq = xt_trader.order_stock_async(acc, stock, xtconstant.STOCK_BUY, 200, xtconstant.LATEST_PRICE, -1, 'strategy_name', stock)
A.bought_list.append(stock)
class MyXtQuantTraderCallback(XtQuantTraderCallback):
def on_disconnected(self):
"""
连接断开
:return:
"""
print(datetime.datetime.now(),'连接断开回调')
def on_stock_order(self, order):
"""
委托回报推送
:param order: XtOrder对象
:return:
"""
print(datetime.datetime.now(), '委托回调', order.order_remark)
def on_stock_trade(self, trade):
"""
成交变动推送
:param trade: XtTrade对象
:return:
"""
print(datetime.datetime.now(), '成交回调', trade.order_remark)
def on_order_error(self, order_error):
"""
委托失败推送
:param order_error:XtOrderError 对象
:return:
"""
# print("on order_error callback")
# print(order_error.order_id, order_error.error_id, order_error.error_msg)
print(f"委托报错回调 {order_error.order_remark} {order_error.error_msg}")
def on_cancel_error(self, cancel_error):
"""
撤单失败推送
:param cancel_error: XtCancelError 对象
:return:
"""
print(datetime.datetime.now(), sys._getframe().f_code.co_name)
def on_order_stock_async_response(self, response):
"""
异步下单回报推送
:param response: XtOrderResponse 对象
:return:
"""
print(f"异步委托回调 {response.order_remark}")
def on_cancel_order_stock_async_response(self, response):
"""
:param response: XtCancelOrderResponse 对象
:return:
"""
print(datetime.datetime.now(), sys._getframe().f_code.co_name)
def on_account_status(self, status):
"""
:param response: XtAccountStatus 对象
:return:
"""
print(datetime.datetime.now(), sys._getframe().f_code.co_name)
if __name__ == '__main__':
print("start")
#指定客户端所在路径
path = r'D:\qmt\sp3\迅投极速交易终端 睿智融科版\userdata_mini'
# 生成session id 整数类型 同时运行的策略不能重复
session_id = int(time.time())
xt_trader = XtQuantTrader(path, session_id)
# 开启主动请求接口的专用线程 开启后在on_stock_xxx回调函数里调用XtQuantTrader.query_xxx函数不会卡住回调线程,但是查询和推送的数据在时序上会变得不确定
# 详见: http://docs.thinktrader.net/vip/pages/ee0e9b/#开启主动请求接口的专用线程
# xt_trader.set_relaxed_response_order_enabled(True)
# 创建资金账号为 800068 的证券账号对象
acc = StockAccount('800068', 'STOCK')
# 创建交易回调类对象,并声明接收回调
callback = MyXtQuantTraderCallback()
xt_trader.register_callback(callback)
# 启动交易线程
xt_trader.start()
# 建立交易连接,返回0表示连接成功
connect_result = xt_trader.connect()
print('建立交易连接,返回0表示连接成功', connect_result)
# 对交易回调进行订阅,订阅后可以收到交易主推,返回0表示订阅成功
subscribe_result = xt_trader.subscribe(acc)
print('对交易回调进行订阅,订阅后可以收到交易主推,返回0表示订阅成功', subscribe_result)
#这一行是注册全推回调函数 包括下单判断 安全起见处于注释状态 确认理解效果后再放开
# xtdata.subscribe_whole_quote(["SH", "SZ"], callback=f)
# 阻塞主线程退出
xt_trader.run_forever()
# 如果使用vscode pycharm等本地编辑器 可以进入交互模式 方便调试 (把上一行的run_forever注释掉 否则不会执行到这里)
interact()
需要开通miniQMT(低门槛,低费率)的朋友,
可以扫码联系:或者添加 技术公众号:
![](http://xximg.30daydo.com/picgo/ufc200.png)
公众号:
![](http://xximg.30daydo.com/picgo/kzz.jpg)
收起阅读 »
银河证券1拖7
最近大家套利印度基金LOF如火如荼。
基本大家都用的银河证券或者华宝证券的1拖6,也就是一个证券账户,加挂 3个 深A,3个场内基金,6个账号可以同时申购 100元的印度基金。因为印度基金目前是限购状态,限购100元。
所以1拖6就可以申购600元。
目前每天稳定的溢价率为6-7%,一次的收益率为 6-7%,也就是30-40元一个账户一天。一周下来就有150-200元
这个看起来是个蚊子肉。
但如果你的证券账户足够多,比如你有10个证券账户(你女友,家人,亲戚,同事,朋友)
一周就有2000元。
所以限购套利的核心是 拖拉机+多账号
而很少人知道,其实可以1拖7,再多一个申购途径,就是场外申购。
比如支付宝,天天基金等渠道申购。不过要转入场内比较麻烦,而银河证券,华宝证券,内置了场外基金,可以很方便在券商app里面的场外基金买入(申购)。
步骤也很简单,
申购完成之后:
然后绑定场内和场外关系
然后要等T+2 之后,再在银河证券app里面 把印度基金从场外转到场内:
然后T+2之后,你的基金要继续等T+2之后才能到达你的证券账户。然后才能够在场内卖出。
所以通过场外转场内进行套利,要比场内支持申购,要晚2天到账的哦。
目前银河证券 低费率多多, 万0.854 免五,0.1元起,申购LOF基金1折,LOF卖出费率为万0.5,0.1元起。
逆回购1折。各个费率基本在同样档位里面是最低的了。
需要的朋友可以扫码联系开通:
收起阅读 »
基本大家都用的银河证券或者华宝证券的1拖6,也就是一个证券账户,加挂 3个 深A,3个场内基金,6个账号可以同时申购 100元的印度基金。因为印度基金目前是限购状态,限购100元。
所以1拖6就可以申购600元。
目前每天稳定的溢价率为6-7%,一次的收益率为 6-7%,也就是30-40元一个账户一天。一周下来就有150-200元
这个看起来是个蚊子肉。
但如果你的证券账户足够多,比如你有10个证券账户(你女友,家人,亲戚,同事,朋友)
一周就有2000元。
所以限购套利的核心是 拖拉机+多账号
而很少人知道,其实可以1拖7,再多一个申购途径,就是场外申购。
比如支付宝,天天基金等渠道申购。不过要转入场内比较麻烦,而银河证券,华宝证券,内置了场外基金,可以很方便在券商app里面的场外基金买入(申购)。
步骤也很简单,
申购完成之后:
然后绑定场内和场外关系
然后要等T+2 之后,再在银河证券app里面 把印度基金从场外转到场内:
然后T+2之后,你的基金要继续等T+2之后才能到达你的证券账户。然后才能够在场内卖出。
所以通过场外转场内进行套利,要比场内支持申购,要晚2天到账的哦。
目前银河证券 低费率多多, 万0.854 免五,0.1元起,申购LOF基金1折,LOF卖出费率为万0.5,0.1元起。
逆回购1折。各个费率基本在同样档位里面是最低的了。
需要的朋友可以扫码联系开通:
![](http://xximg.30daydo.com/picgo/ufc200.png)
开通银河拖拉机,申购一折,申购套利,印度基金LOF
1拖6,可以实现在限购的情况下,申购6次。 让你的绝对收益扩大6倍。
虽然资金不多,申购100元。
但如果你的账号多,那么假如你有10个账号,那么一轮套利下来,你的盈利有 122 * 6 * 10 = 7200
而且因为有限购,所以套利算风险比较小。 只要点点手指头,就能够获得几千元的收益,何乐而不为?
但是1拖6,只有少数几个券商支持。 并且如果没有申购1折的话,也会有不少的损耗。
银河证券就是满足上面的条件。 但不一定全部的营业部都支持申购1折。
笔者这边合作的一个银河证券,支持万一免五,0.1起步。基金申购1折,逆回购1折,支持1拖6股东账号。
需要的可以扫码联系:
![](http://xximg.30daydo.com/picgo/ufc200.png)
QMT获取全市场股票,排除ST退市风险股票
因为QMT不能获取北交所的股票历史数据,所以需要把获取到的所有股票数据里的 北交所的股票排除掉 。
有问题可以咨询公众号或者知识星球
提供策略代写服务
收起阅读 »
def get_all_market_code(ContextInfo):
all_market_codes = [item for item in ContextInfo.get_stock_list_in_sector('沪深A股') if not item.endswith('BJ')]
return filter_ST_stock(ContextInfo, all_market_codes)
def filter_ST_stock(ContextInfo, code_list):
result =
for code in code_list:
if re.search('(st)|(ST)|(\*st)|(\*ST)|(退)',ContextInfo.get_stock_name(code)):
print('排除 : ',ContextInfo.get_stock_name(code),code)
continue
result.append(code)
return result
global_dict = {}
def init(ContextInfo):
now = time.ctime()
print('策略初始化{}'.format(now))
need_download = 1
global_dict['start_date'] = '20231201'
global_dict['end_date'] = ''
global_dict['code_list'] = get_all_market_code(ContextInfo)
有问题可以咨询公众号或者知识星球
提供策略代写服务
![](http://xximg.30daydo.com/picgo/kzz.jpg)
QMT实时获取涨停股,筛选流通盘大于X的股票
基于官方例子修复了一下bug,比如移除了北交所的股票,因为目前qmt获取不了北交所的股票历史数据。
直接上代码:
欢迎关注公众号:
可转债量化分析
收起阅读 »
直接上代码:
# coding:gbk
import time
class G():
pass
g = G()
def init(ContextInfo):
g.hsa = [item for item in ContextInfo.get_stock_list_in_sector('沪深A股') if not item.endswith('BJ')]
g.vol_dict = {}
for stock in g.hsa:
g.vol_dict[stock] = ContextInfo.get_last_volume(stock)
ContextInfo.run_time("execution", "1nSecond", "2019-10-14 13:20:00")
def execution(ContextInfo):
t0 = time.time()
full_tick = ContextInfo.get_full_tick(g.hsa)
total_market_value = 0
total_ratio = 0
count = 0
for stock in g.hsa:
if full_tick[stock]['lastClose'] == 0:
continue
ratio = full_tick[stock]['lastPrice'] / full_tick[stock]['lastClose'] - 1
rise_price = round(full_tick[stock]['lastClose'] * 1.2, 2) if stock[0] == '3' or stock[:3] == '688' else round(
full_tick[stock]['lastClose'] * 1.1, 2)
# 如果要打印涨停品种
if abs(full_tick[stock]['lastPrice'] - rise_price) <0.01:
print(f"涨停股票 {stock} {ContextInfo.get_stock_name(stock)}")
market_value = full_tick[stock]['lastPrice'] * g.vol_dict[stock]
total_ratio += ratio * market_value
total_market_value += market_value
count += 1
# print(count)
total_ratio /= total_market_value
total_ratio *= 100
print(f'A股加权涨幅 {round(total_ratio, 2)}% 函数运行耗时{round(time.time() - t0, 5)}秒')
欢迎关注公众号:
可转债量化分析
![](http://xximg.30daydo.com/picgo/kzz.jpg)