【Python 量化交易】SMA技术指标

2023-05-16

SMA Source Code

class SMAIndicator(object):
    """
    对比通达信,测试通过,实际使用可以四舍五入
    """
    def __init__(self,
                 value: pd.Series,
                 N: int = 3,
                 M: int = 1,
                 ):
        self._value = value
        self.N = N
        self.M = M
        self.r = self.M/self.N
        self._run()

    def _run(self):
        # 修改初始值
        self._value.iloc[0] = self._value.values[0]/self.r
        self.sma = self._value.rolling(window=self._value.shape[0], min_periods=1).apply(
            lambda x: (self.r * ((1-self.r) ** np.arange(0, len(x))[::-1]) * x).sum()
        )

    def SMA(self):
        return pd.Series(self.sma, name='sma{}-{}'.format(self.N, self.M))


欢迎关注~ SandQuant 专注于全球金融数据和量化投资策略

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Python 量化交易】SMA技术指标 的相关文章

随机推荐

  • 栈的概念及性质

    栈的基本概念 栈的定义 栈是一种只能在一端进行插入或删除的线性表 其中插入被称作进栈 xff0c 删除被称作出栈 允许进行插入或删除操作的一端被称为栈顶 xff0c 另一段被称为栈底 xff0c 栈底固定不变 其中 xff0c 栈顶由一个称
  • python requests post 使用方法

    使用python模拟浏览器发送post请求 span class token keyword import span requests 1 格式request post xff1a request span class token punc
  • 各类Python项目的项目结构及代码组织最佳实践

    1 了解Python项目文件组织结构非常重要 为什么要掌握pythob项目结构 xff1f 优秀的程序员都使用规范的项目代码结构 xff0c 了解这些好的习惯方式 xff0c 能帮助你快速读懂代码如果项目是几个人合作开发 xff0c 好的代
  • Python简单的位运算

    位运算 程序中的数在计算机内存中都是以二进制的形式存在的 xff0c 位运算就是直接对整数在内存中对应的二进制位进行操作 位运算分为 6 种如下 xff1a 1 按位与 按位与运算符 xff1a 参与运算的两个值 如果两个相应位都为1 则该
  • 【Linux】WLAN接口桥接

    一 内核补丁 因为Linux内核会在注册特定设备时将会将dev gt priv flags置为IFF DONT BRIDGE xff0c 所以现还不支持sta p2p client adhoc等无线接口加入到桥接中去的 xff0c 所以要支
  • Python学习小记-爬虫基础例子之抓取热门游戏排行榜-2020-3-2

    span class token keyword import span urllib span class token punctuation span request span class token keyword import sp
  • 《A Survey on Aspect-Based Sentiment Analysis: Tasks, Methods, and Challenges》阅读笔记

    忙活了一阵子后 xff0c 现在终于有空研究一下目前如火如荼的ABSA了 xff0c 当然 xff0c 还是先从综述出发 A Survey on Aspect Based Sentiment Analysis Tasks Methods a
  • A problem has occurred and the system can‘t recover问题的解决

    A problem has occurred and the system can 39 t recover问题的解决 问题描述解决方法参考博客 问题描述 启动后无法进入图形界面 xff0c 出现如下报错内容 按 ctrl 43 alt 4
  • 安装:WSL2(Ubuntu18.04)+miniconda3+mysql数据库+windows pycharm连接wsl

    一 WSL2 xff08 Ubuntu18 04安装 xff09 1 开启 适用于Linux的Windows子系统 找到控制面板 程序和功能 启用或关闭Windows功能 xff0c 选中 适用于Linux的Windows子系统 和 虚拟机
  • 【Python入门】:字典与集合

    Problems span class token number 1 span span class token punctuation span 创建一个通讯录 xff0c 步骤如下 xff0c 请根据步骤完成以下操作 xff1a spa
  • 【Python入门】:函数1

    Problems span class token number 1 span span class token punctuation span 编写函数showMsg span class token punctuation span
  • 【Python】@property私有属性的控制和保护

    64 property的使用 xff1a 对属性的控制和保护 一 保护变量 xff0c 防止被修改 64 property的首要目的是在访问私有变量时 xff0c 保护变量不被随意修改 span class token keyword cl
  • 【Python入门】:函数2

    Problems Source Code Output span class token number 318 span span class token number 321 span span class token number 19
  • 由浅入深介绍 Python Websocket 编程

    目录 1 为什么使用 Websocket 1 1 websocket 协议简介1 2 基本原理 2 如何用 Python 搭建 Websocket 服务2 1 安装websockets包2 2 编写 server 端代码 3 Python
  • 【Python入门】:文件与异常

    Problems Source Code Output 慈母手中线 xff0c 游子身上衣 临行密密缝 xff0c 意恐迟迟归 谁言寸草心 xff0c 报得三春晖 span class token number 7 795 span spa
  • 【Python】ESC服务器通过SMTP收发邮件

    解决方法 xff1a 1 25端口基本都不能用 xff0c 所以要用SSL xff0c qq用465 2 需要添加安全组 3 关闭防火墙 4 邮箱密码是授权码 Step1 xff1a 开通邮箱smtp服务 授权码作为后续的登录密码 Step
  • 【Python 量化交易】什么是择时策略

    量化金融 xff1a 什么是择时策略 xff1f 什么是市场择时 xff1f 市场择时概要择时成本损失机会的代价交易成本的代价真实例子 什么是市场择时 xff1f 市场择时 xff0c 也可以叫做市场选时 xff0c 是一种投资或者交易的策
  • 【Python】Spy++使用

    SPY 43 43 的使用和Python操作 1 spy 43 43 的基本操作1 1 窗口属性查找1 2 窗口spy 43 43 定位 2 python与spy 43 43 Source CodeUse 下载 Spy 43 43 xff1
  • 【Python 量化交易】SAR技术指标

    SAR Source Code span class token keyword class span span class token class name SARIndicator span span class token punct
  • 【Python 量化交易】SMA技术指标

    SMA Source Code span class token keyword class span span class token class name SMAIndicator span span class token punct