这篇文章原先是发表在我的订阅号里的,现在给它搬回博客上。 做交易有一句话叫做天量天价,地量地价。这句话被很多交易者挂在嘴边,事实是否果然如此?我们从指数角度对量价关系做一个简单量化,来进行印证。 量化量价关系,涉及一个统计学概念:百分位数(percentile)。百分位数是个体样本在总体样本中所处的位置,举个例子,如果我们以一个班的总体成绩为样本,其90百分位数则意味,全班有90%的人分数在这个分数以下,10%的人分数在这个分数以上,以此类推。投资领域,通常会用百分位数来衡量估值水平,50百分位数即为通常所说的中位…

2022年5月10日 0条评论 604点热度 2人点赞 阅读全文

写了一个小工具,用来对既有的网格策略表进行上下拓展,用于在价格运行破网后,表格继续按价格方向进行延伸。 一般来说,向dataframe尾部添加新行我们可以用df.append方便的实现,但是如果要想dataframe头部插入新行,相对就要复杂一些,我的实现方式是这样: 用df.loc[index]的方式,向dataframe插入数据,这个index是从-1开始的负值,依需要插入的数据条目数量逐步递减,最后得到的datafame表是一个具有负索引值的新表,然后我们单独对index列的所有值均加上新插入数据的行数,这样…

2022年5月6日 0条评论 595点热度 0人点赞 阅读全文

如果用python绘制相关性热图,通常选择seaborn包,内置的heatmap函数可以直接将df.corr()生成的相关性数据帧作为参数导入,只需要设置x轴y轴的标签,热图颜色等即可,不需要对数据源进行更改。 但是如果我们用pyecharts绘制交互式的热图,就不能直接利用df.corr()的结果了,因为pyecharts热图的数据源格式是这样的: 这是一个嵌套列表,列表中的每一个元素也是列表,其前两位对应的是热图的x轴和y轴坐标索引,第三个值是需要进行展示的热图数据。这样的话,就不得不对dataframe生成的…

2022年4月19日 0条评论 782点热度 0人点赞 阅读全文

投资的方法有很多,有短炒赚盘口差价炒情绪的,有买定离手赚业绩估值双击的,不论黑猫白猫,能抓到耗子就是好猫,我看待投资手法倒没有那么内卷,习惯了天天看K线起落,频繁操作,今天我们从分红角度看看不同标的当下的投资价值。 写了一简单脚本,计算历年分红中位数对应当前股价的股息率,分红样本选取了5年时间(2017年至今),一般来讲这个周期可以完成一个牛熊轮回,亦即是说当下这个时点,买定离手后,所选标的的分红每年能带来多少红利收益,如果你买入的位置不是那么高,又有足够的耐心持有5年以上,能够跨越一个完整牛熊周期,那么你大概率能…

2022年4月18日 0条评论 478点热度 1人点赞 阅读全文

想给我的博客添加一个展示个人持仓的侧边栏小工具,自然是用pyecharts实现它。通过pyecharts生成的html代码可以很好用iframe标签嵌入到页面中。 相对于传统的饼图,个人更喜欢玫瑰图的展示效果,现在主页侧边栏展示的就是用这段代码生成的。关于代码不做过多说明,想了解的可以去 https://gallery.pyecharts.org/#/ 这里翻看官方文档,写的非常详细。这里只把我的代码实现分享一下,代码很简单,如下: 代码里的设置生成结果比较适合侧边栏的展示效果,有需要可以参考官方文档自己定制,生成…

2022年4月11日 0条评论 629点热度 1人点赞 阅读全文

最近这两天我的实盘量化程序经常会出现调度器任务超时的问题,每天一回家看控制台,发现成堆的任务超时提示,一开始没有上心,持续发生两三次以后感觉是有些异常,于是趁着周末有时间,看一下问题到底出在哪里。 出现问题这段时间,实盘主程序的代码一直没有变化,开始我以为是电脑windows升级后出现的问题,换了几个电脑后发现不对,不管哪个环境下,都是一样的规律性出现调度任务超时,后来把注意力放在了电脑的电池模式上,会不会因为实盘是在笔记本上执行的,电池问题导致算力出问题了?一通排查后这个想法也不成立。被调度的任务执行时间才0.1…

2022年3月26日 0条评论 547点热度 1人点赞 阅读全文

关注股票市场的估计都知道一个梗:周四周五是法定砸盘日。这个说法到底靠不靠谱,从统计角度上看是什么情况?今天我们用程序来做个简单的统计,看看上证指数在一周内每个交易日的涨跌情况。 思路是这样的,先获取指数K线数据,计算每天的涨跌幅。然后我们从周一到周五每个交易日建立一个数组,将每天的涨跌幅数据扔到各自对应的数组里。下一步我们用循环分析这个5个数组,找出每个数组其中涨幅>0,=0,<0分别各对应多少次。用涨幅为正的次数/涨幅为负的次数,这个比值当然在1以上越大越好,说明上涨概率高,1以下越低,说明下跌概率越高。 …

2022年3月23日 0条评论 486点热度 1人点赞 阅读全文

backtrader是德国人写的一套非常成熟的本地量化回测平台,其内部对talib中的很多技术指标进行了二次封装,但有时候需要我们需要根据自己的交易系统做一些指标的自定义以方便回测,下面以bias指标为例进行自定义。 bias是一个超买超卖指标,其含义是收盘价与某一周期均线的乖离率,算法很简单:(close-ma)/ma,如果我们要指标结果是百分比的话,可以写成((close-ma)/ma)*100,接下来我们在backtrader中实现它并保存在myindicator模块中,代码如下: 接下来我们就可以在策略类中…

2022年3月21日 0条评论 1455点热度 5人点赞 阅读全文

使用Vscode进行开发,如果程序跑在venv虚拟环境下并且想要进行迁移,如下操作: 1、目标机器安装Anacoda环境 2、用管理员权限在PowerShell下运行set-executionpolicy remotesigned 选择Y 3、整个程序目录,连同.venv环境一起拷贝到新机器上 4、修改.venv/pyvenv.cfg文件,将其中的home修改为目标机器Anaconda环境目录,比如 C:\ProgramData\Anaconda3 5、配目标机器Vscode的python解释器为.venv\Scr…

2022年3月21日 0条评论 741点热度 1人点赞 阅读全文

本文总结目前我个人做量化交易及数据分析所用到的一些技术栈,随着时间推移还会涉及更多内容,现简单梳理如下: 语言环境及IDE 量化交易及数据分析在编程实现上首选Python,除了简单易学容易上手,Python天生还有数量众多且功能丰富的第三方开源库,有人觉得相比编译型语言,Python不够快,但是我认为对普通交易者来讲足够用了,实际上程序跑起来以后并不慢,尤其很多科学计算库底层都是C,执行效率也不差,Python的短板在GUI程序的实现上,虽然有QT Designer这类可视化设计工具,但总体来讲比C#,Delphi…

2022年3月17日 0条评论 811点热度 2人点赞 阅读全文