import pandas as pd
import numpy as np# 创建BOLL线def get_high_low(df: pd.DataFrame) -> list:# 用最高价和最低价构建新的数据,用于显示和判断是否突破BOLL线支撑位、压力位high_low = []for i in df.index:if df['High'][i] > df['阻力线'][i]:high_low.append(df['High'][i])elif df['Low'][i] < df['支撑线'][i]:high_low.append((df['Low'][i]))else:high_low.append(df['Close'][i])return high_lowdef get_boll_lines(df: pd.DataFrame, tp: int, sf: int) -> pd.DataFrame:# SMA:简单移动平均(Simple Moving Average)time_period = 21  # SMA的计算周期,默认为20stdev_factor = 2  # 上下频带的标准偏差比例因子if tp is not None:time_period = tpif sf is not None:stdev_factor = sfhistory = []  # 每个计算周期所需的价格数据sma_values = []  # 初始化SMA值upper_band = []  # 初始化阻力线价格lower_band = []  # 初始化支撑线价格# 构造列表形式的绘图数据for close_price in df['Close']:#history.append(close_price)# 计算移动平均时先确保时间周期不大于20if len(history) > time_period:# 删除第0个元素del (history[0])# 将计算的SMA值存入列表# 求取history列表数据的平均值sma = np.mean(history)# 将平均值添加到平均值列表中sma_values.append(sma)# 计算标准差stdev = np.sqrt(np.sum((history - sma) ** 2) / len(history))upper_band.append(sma + stdev_factor * stdev)lower_band.append(sma - stdev_factor * stdev)# 将BOLL线加入到数据中df = df.assign(收盘价=pd.Series(df['Close'], index=df.index))df = df.assign(中界线=pd.Series(sma_values, index=df.index))df = df.assign(阻力线=pd.Series(upper_band, index=df.index))df = df.assign(支撑线=pd.Series(lower_band, index=df.index))# 将最高最低组合数据,加入到数据中# 用最高价和最低价构建新的数据,用于显示high_low = get_high_low(df)df = df.assign(hl=pd.Series(high_low, index=df.index))return df

python处理通达信数据,加入BOLL通道数据,量化交易相关推荐

  1. [python]解析通达信盘后数据获取历史日线数据

    平时我们在做 离线的模型 回溯测试时候,需要历史的k线数据. 可是通达信 的日线数据如下: 日线数据在通达信的安装目录: vipdoc\sh\lday  下面 本地的通达信 是没有开放api和外部的  ...

  2. 通达信lv2接口程序怎么创建BOLL通道数据?

    通达信lv2接口程序主要是面向的阅读对象以及接口文档主要包括哪些业务的接口,可以让读者有一个直观的认识.如:通达信lv2接口系统面向外部接入方的数据协议接口,主要包括:用户注册接口.同步用户.授权认证 ...

  3. Python提取通达信日数据转存为.csv表格数据

    一直想用Python来做股票数据 看了好些书.也看了好些个文章,还是没搞懂,只好按自己的想法一步步来,做到一步就搜索找资料然后挨个试试!最笨的办法了 其他看盘软件也没怎么用,一直都用的通达信,看其他资 ...

  4. 通达信下单接口下载获取数据的方法

    通达信下单接口下载获取数据的方法,第一步就是通过交易软件来获取数据,介绍下面这种直接获取的方法,如下: 1.通过pytdx获取本地通达信数据: 2.通过requests爬虫爬取腾讯财经数据: 3.通过 ...

  5. 分享通达信软件L2接口获取数据的执行过程

    在股票交易市场领域当中,通达信软件L2接口获取股票数据,用户根据得到的股票数据信息,做出合理的交易决策,让股票交易活动顺利进行. 通达信软件L2接口提供数据支撑,有了这些股票数据,经过了分析才能真实反 ...

  6. python 通达信数据_[转载]怎么样才能得到 07年08年的1分钟线数据呢,python 和 通达信可以...

    最近在学习一种理论,真TMD的难啊,又没有多少图可以看,说到的以前的分钟线数据,在网上找了很久,都不容易看到. 不过利用通达信可以帮我们做到.通达信可以下载每天的分笔数据,就利用这个文本文件去产生以前 ...

  7. python调用通达信数据_[python]沪深龙虎榜数据导入通达信的自选板块并标注于k线图上...

    [python] 沪深龙虎榜数据导入通达信的自选板块, 并标注于 K 线图上 1 #coding=utf-8 2 3 # 读取 '[paint]' 开头的 csv 文件 4 #copyright @ ...

  8. 如何用python获取通达信数据_Python读取通达信本地数据

    一.介绍 python获取股票数据的方法很多,其中 Tushare 财经数据接口包很好用,当然,也可以通过通达信本地的数据获取,这样更为方便. 日线数据存在这路径下 D:\通达信\vipdoc\sh\ ...

  9. python调用通达信函数_Python读取通达信本地数据

    原博文 2020-06-12 15:41 − 一.通达信日线*.day文件 文件名即股票代码 每32个字节为一天数据 每4个字节为一个字段,每个字段内低字节在前 &nbsp... 相关推荐 2 ...

最新文章

  1. asp.net 调用vc dll_“双通道”独立通讯,稀有钛膜单元,击音运动果VC真无线耳机...
  2. android蓝牙扫描中断,一段时间后,Android蓝牙Le扫描仪停止运行
  3. js倒计时天时分秒php,JS制作分秒倒计时器
  4. 阿里云Lindorm联合智臾科技发布,金融高频交易数据量化分析与处理方案
  5. [leetcode Summary] BFS
  6. 面试题 08.03. Magic Index LCCI 魔术索引
  7. iphone黑屏转圈_iphone7无限转圈黑屏怎么回事?
  8. Taro+react开发(95):问答模块02
  9. word break II 对字符串根据已知字典 分解出所有可能组合
  10. 书------操作系统(2000)
  11. OpenShift 4 之 GitOps(6)用ArgoCD部署MongoDB主从集群
  12. Java业务面考什么_Java程序员面试技巧分享,面考官考查JAVA程序员常用的技术有哪些?...
  13. 深入理解全局编录服务器GC
  14. 时点数列序时平均数_时点数列序时平均数计算方法研究
  15. 编曲技巧:使用FL Studio来制作停顿的效果
  16. QT -- UdpSocket通信实例,使用Qt的UDP通信协议,实现局域网组播通信软件功能
  17. 优秀课程案例:使用Scratch制作俄罗斯方块哈利·波特魔法消除版!
  18. 怎么做一个有价值的人
  19. 剑与家园服务器维护,《剑与家园》杀鸡取卵式运营 如何拯救短命的区服?
  20. 大数据DBA:大数据数据库管理做什么

热门文章

  1. Pascal 过程与函数
  2. Jmeter点击启动无响应问题
  3. TCP是如何传输数据的?
  4. containerd环境下build镜像
  5. 什么是Perl语言?
  6. JAVASE、JAVAEE(J2EE)、
  7. 微信小程序的开发制作_搭建_工具_模板_一键生成
  8. Wordpress网页直接插入bilibili视频方法
  9. Python GUI 开发工具
  10. 计算机网络与数据库应用技术