大智慧、通达信软件,公式中有一个winner函数,函数的作用是计算收盘获利比率。即计算按照目前收盘价,计算有多少比例持仓是盈利的。要计算获利比率,首先得计算筹码分布,就是持仓价格分布。由于无法知道真实的交易情况,只能大致的估计。首先举个例子,假如某只股票有1000万股,第一天平均交易价格10元,第二天换手率20%,平均交易价格11元,那第二天的筹码分布为,10元:1000 * (1 - 0.2)=800万,11元:1000 * 0.2 = 200万。第三天换手率30%,平均交易价格12元,那第三天的筹码分布为,10元:1000 * (1 - 0.2)* (1 - 0.3)= 560万,11元:1000 * 0.2 * (1 - 0.3) = 140万,12元:1000 * 0.3 = 300万,以此类推。代码如下:

def winner_core(ContextInfo, close):close_price = close[-1]#获取上市日期#ipo_date = ContextInfo.get_open_date(ContextInfo.get_universe()[0])df = ContextInfo.get_market_data(['volume', 'amount'], stock_code = ContextInfo.get_universe(), skip_paused = True, period = '1d', dividend_type = 'front', end_time = close.index[-1], count = 250)df = df.loc[df['volume'] != 0]df['mean'] = df['amount'] / df['volume'] / 100turnover_rate = ContextInfo.get_turnover_rate(ContextInfo.get_universe(), df.index[0], df.index[-1])df['turnover'] = turnover_rate['000001.SZ'].valuesdf['turnover'][0] = 0#1减去换手率df['1_turnover'] = 1 - df['turnover']df['2_turnover'] = df['1_turnover'][::-1].valuesdf['3_turnover'] = df['2_turnover'].shift(periods = 1)df['3_turnover'][0] = 1#print(df[['1_turnover', '2_turnover', '3_turnover']])df['4_turnover'] = df['3_turnover'].cumprod()[::-1].valuesdf['turnover'][0] = 1df['chouma'] = df['turnover'] * df['4_turnover']return df.loc[df['mean'] < close_price]['chouma'].sum()def winner(ContextInfo, close):result = []n = len(close)for i in range(n):res = winner_core(ContextInfo, close[: i + 1])result.append(res)return pd.Series(result, index = close.index)

以上是000001计算出来的收盘获利比率,跟同花顺对比,还是很相近的。

注意:以上计算都是估算值。

大智慧、通达信winner函数python代码实现相关推荐

  1. 自己做量化交易软件(19)通达信公式转Python代码的程序

    ** 自己做量化交易软件(19)通达信公式转Python代码 ** 小白量化平台框架是本地化量化平台,用户的策略在用户自己电脑中执行,操作习惯仿股票软件,指标算法支持类通达信指标,回测也支持通达信大智 ...

  2. python 通达信公式函数_通达信zig函数的python实现

    通达信zig函数的python实现 代码 # coding: utf-8 """ Created on Sat Jan 05 18:53:39 2019 http://w ...

  3. python调用通达信函数大全_通达信zig函数的python实现

    通达信zig函数的python实现 代码 # coding: utf-8 """ Created on Sat Jan 05 18:53:39 2019 http://w ...

  4. c语言cross函数什么意思,通达信cross函数用法,通达信 filter函数 返回什么值

    Q1:通达信 filter函数 返回什么值 结果:返回一个逻辑真值,当逻辑条件为真时,如果在N周期内已真过,将当前真值置为0,即过滤. 下面网页上有详细讲解. http://www.chcj.net/ ...

  5. 通达信指标公式颜色代码的四种写法(COLOR/RGB)

    通达信指标公式颜色代码有四种写法,分别为COLOR+颜色的英文.COLOR+十六进制.RGBX+十六进制.RGB(R,G,B).标题有点尴尬,让我想到孔乙己"茴"字的四种写法,哈哈 ...

  6. 通达信财务函数与股票公式进阶篇[转]

    通达信财务函数与股票公式进阶篇[转] http://blog.sina.com.cn/s/blog_676348b301018f6v.html 通达信财务函数与股票公式进阶篇[转] FINANCE(1 ...

  7. 什么是通达信接口函数

    什么是通达信接口函数,主要是用于通过策略接口模块提供一组在本地运行用户编写策略的能力,基于策略接口模块实现量化功能.UI组件模块,通过UI组件模块能够直接使用UI组件中的界面.

  8. python 通达信公式函数,481009_易基策略二号

    481009_易基策略二号 所以我们在分时图走势变化的情况下,当个股经常性的出现尾盘的拉升的情况,特别是尾盘拉升后,下一个交易日还出现盘中拉升后股价继续下跌的情况,基本上可以断定是庄家出货造成的,而在 ...

  9. python 通达信ebk文件_通达信格式及python读取 | Yu Pengyan's Blog

    2016-9-3 使用Yahoo的接口也能够获取到数据 https://github.com/lukaszbanasiak/yahoo-finance 通达信网站为券商系统提供交易数据下载,如:上证所 ...

最新文章

  1. 软件访问转向本地_我是如何从完整的初学者转向软件开发人员的,以及如何做到的...
  2. vs2017数据可视化建模_介绍数据可视化社区调查2017
  3. ThroughRain第一次冲刺(每天更新)
  4. shell特殊符_cut命令 sort_wc_uniq命令tee_tr_split命令 shell特
  5. 我想问一下为什么会开3分钟系统自动会从新启动呢?
  6. mysql查看防火墙状态命令_Linux设置允许指定端口通过防火墙centos7
  7. 数梦工场助力云计算国标制定
  8. springboot点击运行没反应,什么都不显示的解决方式
  9. 季枫老师java全集_PHP冒泡排序,摘取季枫老师视频的冒泡排序内容!
  10. 测试用例组织结构_用例和组织结构
  11. 小爱音箱mini系统故障怎么办_梦龙评机小米小爱音箱HD使用体验
  12. Java 输入一个整数,计算它各位上数字的和。(注意:是任意位的整数)
  13. 【Cite 1.7K】Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour
  14. java菜单栏支持多种语言,多语工具包multilanguage(java版)
  15. GROUP BY中ROLLUP/CUBE/GROUPING/GROUPING SETS使用示例
  16. DXperience 7.1.1
  17. CloudFlare:免费CDN加速-自定义节点IP教程
  18. C# 获取PDF文档的字体信息及指定文字的坐标,宽度和高度
  19. 计算机网络技术班级16字口号,十六字班级加油口号
  20. 【喜讯 · 喜讯】讲师自营销计划奖励又双叒叕来了!

热门文章

  1. 制作一款简易的可燃气体报警器,你来吗?
  2. 初学者不建议月python吗_为什么我不建议你将python作为入门编程语言
  3. js实现城市首字母导航
  4. 国家统计局公布2005年度百强县名单
  5. 计算机三维设计大作业模型图,计算机辅助设计大作业(DOC).doc
  6. ubuntu磁盘修复
  7. 自动设置IP地址的BAT
  8. 高新技术产业的股权设计原则
  9. 数据存储之Archiver、Unarchiver、偏好设置
  10. 【软件推荐】集tftp client、Server、syslog功能于一体的绿色软件tftpd32.exe