常用平均数

算数平均数 一组数据的所有数据之和除以数据个数,反映数据集中的趋势 $$ A_n = \frac{a_1+a_2+a_3+\cdots+a_n}{n} $$ 几何平均数 n数连续乘积,然后开n次方根 $$ G_n = \sqrt[n]{a_1 \times a_2 \times a_3 \times \cdots \times a_n} $$ 调和平均数(数学,非统计) 每一个数值取倒数,然后将所有倒数求平均,然后将得到的平均数取到数 $$ H_n = \frac{n}{\frac{1}{a_1} + \frac{1}{a_2} \frac{1}{a_3} + \cdots + \frac{1}{a_n}} $$ 加权平均数 如果是一个含有重复数据的数组n,所有数的合除以所有数重复出现的总次数, 数字$x_n$出现的次数是$f_n$ $$ n = f_1 + f_2 + f_3 + \cdots + f_n $$ $$ \overline{X} = \frac{x_1 \times f_1 + x_2 \times f_2 + x_3 \times f_3 + \cdots + x_n \times f_n}{n} $$ ...

December 20, 2019 · 1 min · 113 words · Aixin.me

MACD 平滑异同移动平均指标

MACD原理介绍 MACD(Moving Average Convergence Divergence),是根据均线的构造原理,对股票价格的收盘价进行平滑处理,求出算术平均值以后再进行计算,是一种趋向类指标。 MACD指标是运用快速(短期)和慢速(长期)移动平均线及其聚合与分离的征兆,加以双重平滑运算。而根据移动平均线原理发展出来的MACD,一则去除了移动平均线频繁发出假信号的缺陷,二则保留了移动平均线的效果,因此,MACD指标具有均线趋势性、稳重性、安定性等特点,是用来研判买卖股票的时机,预测股票价格涨跌的技术分析指标 。 MACD指标主要是通过EMA、DIF和DEA(或叫MACD、DEM)这三值之间关系的研判,DIF和DEA连接起来的移动平均线的研判以及DIF减去DEM值而绘制成的柱状图(BAR)的研判等来分析判断行情,预测股价中短期趋势的主要的股市技术分析指标。其中,DIF是核心,DEA是辅助。DIF是快速平滑移动平均线(EMA1)和慢速平滑移动平均线(EMA2)的差。BAR柱状图在股市技术软件上是用红柱和绿柱的收缩来研判行情。 价格数据:收盘价close EMA:指数移动平均线 DIF(差离值) = EMA12日线 - EMA26日线 EMA9:是“信号线”,又称DEA DIF线与EMA9日线比较,DIF穿越到EMA9上方是买入或做多信号,DIF穿越到EMA9的下方为卖出或做空信号, DIF值越大,上涨趋势越大,DIF值越小,下跌趋势越大 柱状图:(DIF-DEA)*2 解释方法:交叉、散度、快速上升/下降 RSI相对强度指标(振荡器),范围是0到100,超过70时,是为超买或高估,可能引发趋势翻转或价格回调,小于30时,视为超卖或低估。 MACD计算方式 DMA:平行线差指标

December 20, 2019 · 1 min · 23 words · Aixin.me

量化交易相关名词解释

一、凯利公式 英文:The Kelly Criterion 在概率论中,凯利公式(也称 “凯利方程式”)是一个在期望净收益为正的独立重复赌局中,使本金的长期增长率最大化的投注策略。该公式于 1956 年由约翰·拉里·凯利(John Larry Kelly)在《贝尔系统技术期刊》中发表,可以用来计算每次游戏中应投注的资金比例。若赌局的期望净收益为零或为负,凯利公式给出的结论是不赌为赢。 公式: $$ f^* = \frac {bp-q}{b} = \frac {p(b+1)-1}{b} $$ $f^*$ = 应投注的资本比值 p = 获胜的概率 q = 失败的概率 b = 赔率 例子:有一个简单2赔1的赌局,扔硬币下注,硬币为正面则得2元,如果为反面则输掉1元,你的总资产为100元,每一次的押注都可投入任意金额。你会怎么赌呢? 硬币抛出正反面的概率都是50%,所以p、q获胜失败的概率都为0.5,而赔率=期望盈利÷可能亏损=2元盈利÷1元亏损,赔率就是2,我们要求的答案是f,也就是(bp - q) ÷ b = (2 * 50% - 50%) ÷ 2 = 25%。拿出资金的25%来进行下注,才能使赌局收益最大化。 真正应该关心的是长期累积的收入,对于累积的收益来说,最后的结果只和输赢的局数有关,而和输赢的顺序无关。所以凯利公式推出了一个最佳的投入仓位比,来最大化长期的累积收益: $$ bet = edge / odds $$ 最佳仓位bet = 预期获益 / 获益回报 edge:赢面 odds:赔率 $$ edge = bp - q $$ ...

December 17, 2019 · 1 min · 123 words · Aixin.me

Spring Boot 入门指南

官方教程 https://docs.spring.io/spring-boot/docs/2.2.1.RELEASE/reference/html/ 1、Spring Boot介绍 Spring Boot可以轻松创建可以运行的独立的,生产级的基于Spring的应用程序。我们对Spring平台和第三方库采取自己的看法,以便您尽可能轻松地使用本教程。大多数Spring Boot应用程序只需要很少的Spring配置。 您可以使用Spring Boot来创建可以使用java -jar或更传统的war部署来启动的Java应用程序 。我们还提供了一个运行“spring script”的命令行工具。 2、系统要求 Spring Boot 2.2.1需要Java 8 及以上版本,同时也兼容了Java 13 支持以下构建程序: Maven 版本3.3+ Gradle 5.x Servlet容器: Name Servlet版本 Tomcat 9.0 4.0 Jetty 9.4 3.1 Undertow 2.0 4.0 3、Spring Boot安装 服务器SDK最低要求为:Java SDK v1.8 查看环境Java版本:java -version 安装方法一 您可以像使用任何标准Java库一样使用Spring Boot。为此,请spring-boot-*.jar在类路径中包含相应的文件。Spring Boot不需要任何特殊的工具集成,因此您可以使用任何IDE或文本编辑器。此外,Spring Boot应用程序没有什么特别之处,因此您可以像运行其他任何Java程序一样运行和调试Spring Boot应用程序。 虽然您可以复制Spring Boot jar,但我们通常建议您使用支持依赖管理的构建工具(如Maven或Gradle)。 安装方法二、使用Maven安装(推荐) Maven版本最低要求3.3+,前提是先要安装Maven(https://maven.apache.org/)。 或者通过IDE安装Maven插件 Spring Boot依赖关系使用org.springframework.bootgroupId。通常,您的Maven POM文件从spring-boot-starter-parent项目中继承并向一个或多个“Starter”声明依赖关系。Spring Boot还提供了一个可选的 Maven插件来创建可执行的jar。 以下清单显示了一个典型的pom.xml文件: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>myproject</artifactId> <version>0.0.1-SNAPSHOT</version> <!-- Inherit defaults from Spring Boot --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.1.RELEASE</version> </parent> <!-- Override inherited settings --> <description/> <developers> <developer/> </developers> <licenses> <license/> </licenses> <scm> <url/> </scm> <url/> <!-- 添加依赖关系--> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <!-- 引入将应用打包成可执行的jar包的插件 --> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project> spring-boot-starter-parent方法虽然很好,但不是适合所有场景。 ...

December 5, 2019 · 1 min · 124 words · Aixin.me

Numpy学习笔记

生成数组 numpy.arange([start, ]stop, [step, ]dtype=None) 示例 np.arange(3) array([0, 1, 2]) np.arange(3.0) array([ 0., 1., 2.]) np.arange(3,7) array([3, 4, 5, 6]) np.arange(3,7,2) array([3, 5]) 生成随机整数 numpy.random.randint(low, high=None, size=None, dtype=‘l’) 示例 np.random.randint(2, size=10) array([1, 0, 0, 0, 1, 1, 0, 0, 1, 0]) np.random.randint(1, size=10) array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) 随机排列 np.random.shuffle(x) 示例 arr = np.arange(10) np.random.shuffle(arr) arr [1 7 5 2 9 4 3 6 0 8] 随机采样 numpy.random.choice(a, size=None, replace=True, p=None) ...

November 6, 2019 · 1 min · 87 words · Aixin.me