当前位置: 首页 > news >正文

什么是ATR,在聚宽量化平台如何计算ATR

海龟们使用两种资金管理方法。首先,我们把头寸分成一个个小块。这样,即使一笔交易赔了钱,我们损失的也只是一个头寸的一部分。里奇和比尔把这些小块称作头寸单位。其次,我们使用里奇和比尔发明的一种创新性的头寸规模决定方法。这种方法以市场的每日上下波动为基础,而波动幅度是以不变美元价衡量的。他们会为每一个市场计算出一个特定的合约数量,目的是让所有市场的绝对波动幅度大致相等。里奇和比尔把他们的波动性指标称为N,尽管现在的人更习惯称它为真实波动幅度均值(average true range,ATR)。

在量化投资平台聚宽上面,可以用下面的代码来计算:

# 本文用于测算ATR,ATR是用于测算波动率的重要指标,其定义为:

# 1、昨日收盘价-当日最高价

# 2、昨日收盘价-当日最低价

# 3、当日最高价-当日最低价

# 三者的最大值

import pandas as pd

#显示所有列

pd.set_option('display.max_columns', None)

#显示所有行

pd.set_option('display.max_rows', None)

#设置value的显示长度为100,默认为50

pd.set_option('max_colwidth',100)

def get_ATR(stockname, begindate, enddate):

    # 获取行情数据

    df_stockdata = get_price(stockname, start_date=begindate, end_date=enddate, frequency='daily')

    df_stockdata = df_stockdata.reset_index()

    df_stockdata.rename(columns={'index':'stockdate'}, inplace=True)

#     print(df_stockdata)

    if type(df_stockdata) == int:

        print(stockname, '在这段时间内,没有数据!')

        return -1

    # 数据清理,首先要删掉空格行

    df_stockdata = df_stockdata.replace(0, np.nan)

    df_stockdata = df_stockdata.dropna()

    df_stockdata = df_stockdata.reset_index(drop=True)

    # 获取昨日收盘价

    df_yesterday_close = df_stockdata.loc[0:len(df_stockdata) - 2, 'close']

    df_yesterday_close.index = df_yesterday_close.index + 1

    df_yesterday_close.rename('yesterday_Close', inplace=True)  # 更新Series的名字,一定要加 inplace=True,否则改不过来

    # print(type(df_yesterday_close))

    df_stockdata = pd.concat([df_stockdata, df_yesterday_close], axis=1)

    df_stockdata = df_stockdata.dropna(axis=0)  # 删掉空值数据

    df_stockdata = df_stockdata.reset_index(drop=True)

    df_stockdata['ATR_3'] = (df_stockdata['high'] - df_stockdata['low'])  # 当日最高价-当日最低价

    df_stockdata['ATR_2'] = abs(df_stockdata['yesterday_Close'] - df_stockdata['low'])  # 昨日收盘价-当日最低价

    df_stockdata['ATR_1'] = abs(df_stockdata['yesterday_Close'] - df_stockdata['high'])  # 昨日收盘价-当日最低价

    # 重新构建一个临时DataFrame,用于取最大值

    df_temp_atr = df_stockdata[['ATR_3', 'ATR_2', 'ATR_1']]

    df_atr = df_temp_atr.max(axis=1)

    df_atr.rename('ATR', inplace=True)    # 重命名

    

    df_stockdata = pd.concat([df_stockdata, df_atr], axis=1)

    return df_stockdata

get_ATR('300144.XSHE', '2022-02-01', '2022-02-18')

相关文章:

什么是ATR,在聚宽量化平台如何计算ATR

海龟们使用两种资金管理方法。首先,我们把头寸分成一个个小块。这样,即使一笔交易赔了钱,我们损失的也只是一个头寸的一部分。里奇和比尔把这些小块称作头寸单位。其次,我们使用里奇和比尔发明的一种创新性的头寸规模决定方法。这…...

Python 爬虫实战之爬淘宝商品并做数据分析

前言 是这样的,之前接了一个金主的单子,他想在淘宝开个小鱼零食的网店,想对目前这个市场上的商品做一些分析,本来手动去做统计和分析也是可以的,这些信息都是对外展示的,只是手动比较麻烦,所以…...

Python爬虫-requests.exceptions.SSLError: HTTPSConnectionPool疑难杂症解决(1)

前言 本文是该专栏的第7篇,后面会持续分享python爬虫案例干货,记得关注。 在爬虫项目开发中,偶尔可能会遇到SSL验证问题“requests.exceptions.SSLError: HTTPSConnectionPool(host=www.xxxxxx.com, port=443): Max retries exceeded with url ...”。亦或是验证之后的提示…...

12:STM32---RTC实时时钟

目录 一:时间相关 1:Unix时间戳 2: UTC/GMT 3:时间戳转化 二:BKP 1:简历 2:基本结构 三: RTC 1:简历 2: 框图 3:RTC基本结构 4:RTC操作注意 四:案例 A:读写备份寄存器 1:连接图 2: 步骤 3: 代码 B:实时时钟 1:连接图 2:函数介绍 3:代码 一:时间相关 1:Un…...

【动态规划刷题 16】最长等差数列 (有难度) 等差数列划分 II - 子序列

1027. 最长等差数列 https://leetcode.cn/problems/longest-arithmetic-subsequence/ 给你一个整数数组 nums&#xff0c;返回 nums 中最长等差子序列的长度。 回想一下&#xff0c;nums 的子序列是一个列表 nums[i1], nums[i2], …, nums[ik] &#xff0c;且 0 < i1 <…...

【postgresql】替换 mysql 中的ifnull()

数据库由mysql 迁移到postgresql&#xff0c;程序在执行查询时候报错。 HINT: No function matches the given name and argument types. You might need to add explicit type casts. CONTEXT: referenced column: ifnull 具体SQL: SELECT ifnull(phone,) FROM c_user p…...

单例模式(懒汉式,饿汉式,变体)

单例模式&#xff0c;用于确保一个类只有一个实例&#xff0c;并提供一个全局访问点以访问该实例。 饿汉式&#xff08;Eager Initialization&#xff09; 程序启动时就创建实例 #include <iostream> class SingletonEager { private:static SingletonEager* instanc…...

Java Lambda表达式:简洁且强大的函数式编程工具

Lambda表达式是Java 8及以后版本中引入的一种函数式编程特性。它是一种匿名函数&#xff0c;允许开发人员以简洁和易读的方式编写代码&#xff0c;并且可以作为参数传递给方法或存储在变量中。Lambda表达式的基本语法如下&#xff1a;(parameters) -> expression&#xff0c…...

开源框架中的责任链模式实践

作者&#xff1a;vivo 互联网服务器团队-Wang Zhi 责任链模式作为常用的设计模式而被大家熟知和使用。本文介绍责任链的常见实现方式&#xff0c;并结合开源框架如Dubbo、Sentinel等进行延伸探讨。 一、责任链介绍 在GoF 的《设计模式》一书中对责任链模定义的&#xff1a;将…...

智能配电系统:保障电力运行安全、可控与高效

智能配电系统是一种先进的电力分配技术&#xff0c;它通过智能化、数字化和网络化等方式&#xff0c;有效地保障了电力运行的安全、可控和高效。 力安科技智能配电系统是在配电室&#xff08;含高压柜、变压器、低压柜&#xff09;、箱式变电站、配电箱及动力柜&#xff08…...

MySQL学习系列(11)-每天学习10个知识

目录 1. 数据库设计的关键因素2. 使用存储过程和函数来提高性能和可重用性3. MySQL性能优化4. 使用视图简化查询和提供数据安全性5. 数据库备份和恢复策略的重要性和实践经验6. 在分布式系统中保证数据一致性和可用性7. 理解MySQL的复制和其在实际应用中的作用8. 使用游标进行分…...

如何通过Gunicorn和Niginx部署Django

本文主要介绍如何配置Niginx加载Django的静态资源文件&#xff0c;也就是Static 1、首先需要将Django项目中的Settings.py 文件中的两个参数做以下设置&#xff1a; STATIC_URL /static/ STATIC_ROOT os.path.join(BASE_DIR, static) 然后在宝塔面板中执行python manage.…...

C语言 cortex-A7核UART总线实验

一、C 1&#xff09;uart4.h #ifndef __UART4_H__ #define __UART4_H__ #include "stm32mp1xx_rcc.h" #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_uart.h&quo…...

asp.net C#免费反编译工具ILSpy

在维护一个没有源码的C#项目&#xff0c;只能反编译了。 项目主页 https://github.com/icsharpcode/ILSpy 使用方法 中文界面使用简单&#xff0c;把你要反编译的dll拖过去就可以了。好使&#xff01;&#xff01;&#xff01;...

演讲实录:DataFun 垂直开发者社区基于指标平台自主洞察北极星指标

在7月14日举办的 Kyligence 用户大会的数智新应用论坛上&#xff0c;DataFun COO 杜颖女士为大家带来了《垂直开发者社区基于指标平台自主洞察北极星指标》的主题演讲。接下来&#xff0c;我们一起看看 DataFun 如何在没有专门的 IT 团队的情况下&#xff0c;实现对北极星指标的…...

ffmpeg编译 Error: operand type mismatch for `shr‘

错误如下&#xff1a; D:\msys2\tmp\ccUxvBjQ.s: Assembler messages: D:\msys2\tmp\ccUxvBjQ.s:345: Error: operand type mismatch for shr D:\msys2\tmp\ccUxvBjQ.s:410: Error: operand type mismatch for shr D:\msys2\tmp\ccUxvBjQ.s:470: Error: operand type mismatch…...

【Windows Server 2012 R2搭建FTP站点】

打开服务器管理器——添加角色和功能 下一步 下一步 下一步 选择FTP服务器&#xff0c;勾上FTP服务和FTP扩展&#xff0c;点击下一步 安装 安装完成关闭 打开我们的IIS服务器 在WIN-XXX主页可以看到我们的FTP相关菜单 右键WIN-XXXX主页&#xff0c;添加FTP站点 输入站点名称-FT…...

python教程:使用gevent实现高并发并限制最大并发数

嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 import time import gevent from gevent.pool import Pool from gevent import monkey # 一&#xff0c;定义最大并发数 p Pool(20) # 二&#xff0c;导入gevent…...

借助reCAPTCHA实现JavaScript验证码功能

前言 验证码&#xff08;CAPTCHA&#xff09;是一种常见的安全验证机制&#xff0c;常用于区分真实用户和机器人。使用验证码可以有效防止恶意登录、自动注册或者密码爆破等攻击。本文将借助reCAPTCHA第三方库来实现JavaScript验证码功能。 验证码的原理 验证码的核心思想是要…...

监控数据的采集方式及原理

采集方法使用频率从高到低依次是读取 /proc目录、执行命令行工具、远程黑盒探测、拉取特定协议的数据、连接到目标对象执行命令、代码埋点、日志解析。 读取 /proc目录 /proc是一个位于内存中的伪文件系统&#xff0c;而在该目录下保存的不是真正的文件和目录&#xff0c;而是…...

程序员巫术:用玩偶诅咒删库的同事

——软件测试从业者的专业反思与健康应对在软件开发的战场上&#xff0c;测试工程师常被视为“质量守门人”&#xff0c;肩负着拦截缺陷、守护产品稳定的重任。然而&#xff0c;当一位愤怒的测试员掏出针线缝制玩偶&#xff0c;试图用“巫术”诅咒那位鲁莽删库的同事时&#xf…...

终极指南:使用Legacy-iOS-Kit轻松降级、越狱和修复旧款iOS设备

终极指南&#xff1a;使用Legacy-iOS-Kit轻松降级、越狱和修复旧款iOS设备 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to downgrade/restore, save SHSH blobs, and jailbreak legacy iOS devices 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-Kit …...

双模型灾备方案:OpenClaw同时配置百川2-13B-4bits与Llama3应对服务中断

双模型灾备方案&#xff1a;OpenClaw同时配置百川2-13B-4bits与Llama3应对服务中断 1. 为什么需要双模型灾备 去年冬天的一个深夜&#xff0c;我正在用OpenClaw自动处理一批技术文档的翻译任务。突然收到一连串报警通知——原本稳定运行的Qwen模型服务因为网络波动彻底失联。…...

ROS Noetic + RealSense D435i:从驱动安装到RVIZ点云显示的完整工作流解析

ROS Noetic RealSense D435i&#xff1a;从驱动安装到RVIZ点云显示的完整工作流解析 在机器人视觉项目的初期搭建阶段&#xff0c;开发者往往面临一个关键挑战&#xff1a;如何将深度相机从"硬件连接"快速推进到"可用数据流"状态。以Intel RealSense D435…...

故障发现滞后、处置不及时引发的业务中断与数据风险,超自动化巡检帮您解决

在数字化业务高度依赖IT系统的今天&#xff0c;每一次故障发现滞后、每一次处置不及时&#xff0c;都可能引发连锁反应——从关键业务中断到核心数据泄露&#xff0c;损失往往远超预期。传统运维模式在应对现代复杂系统时已显疲态&#xff0c;而超自动化巡检正成为破解这一困局…...

2025终极指南:如何快速解锁雀魂全角色皮肤?Mod工具使用全攻略

2025终极指南&#xff1a;如何快速解锁雀魂全角色皮肤&#xff1f;Mod工具使用全攻略 【免费下载链接】majsoul_mod_plus 雀魂解锁全角色、皮肤、装扮等&#xff0c;支持全部服务器。 项目地址: https://gitcode.com/gh_mirrors/ma/majsoul_mod_plus 还在为无法体验雀魂…...

Rainmeter社区贡献者奖励计划:实物与虚拟奖励

Rainmeter社区贡献者奖励计划&#xff1a;实物与虚拟奖励 【免费下载链接】rainmeter Desktop customization tool for Windows 项目地址: https://gitcode.com/gh_mirrors/ra/rainmeter Rainmeter作为一款强大的Windows桌面自定义工具&#xff0c;其蓬勃发展离不开全球…...

ESFT-gate-law-lite:法律文本智能分析新工具

ESFT-gate-law-lite&#xff1a;法律文本智能分析新工具 【免费下载链接】ESFT-gate-law-lite ESFT-gate-law-lite是基于HuggingFace的深度学习模型&#xff0c;专为法律领域定制。源自deepseek-ai团队&#xff0c;继承ESFT-vanilla-lite优势&#xff0c;强大而轻量&#xff0c…...

深度学习道路提取代码更换数据集后 PyCharm 闪退问题全面解决指南

深度学习道路提取代码更换数据集后 PyCharm 闪退问题全面解决指南 摘要 在基于深度学习的道路提取任务中,更换数据集后常出现 PyCharm 闪退现象。这类问题涉及环境配置、数据加载、内存管理、模型适配等多个层面,往往难以快速定位。本文从 Ubuntu 操作系统、PyCharm IDE、C…...

瑞萨RA6E2评估板Keil MDK5开发全攻略:从RA Smart Configurator到烧录调试

瑞萨RA6E2评估板Keil MDK5开发全流程实战指南 对于嵌入式开发者而言&#xff0c;瑞萨RA6E2系列MCU凭借其高性能和丰富外设正成为工业控制、物联网终端设备的优选方案。而Keil MDK5作为Arm生态中最成熟的开发环境之一&#xff0c;与瑞萨官方工具链的深度整合为开发者提供了高效…...