- 博客(155)
- 资源 (3)
- 收藏
- 关注
原创 python实现技术指标(简单移动平均,加权移动平均线,指数移动平均线)
移动平均线是最常见的技术指标,它能够去除时间序列的短期波动,使得数据变得平滑,从而可以方便看出序列的趋势特征。常见的移动平均线有简单移动平均线,加权移动平均线,指数移动平均线。
2024-06-23 18:57:40 1003
原创 python实现假设检验-t检验
设总体X∼Nμδ2X∼Nμδ2,其中μδ2μδ2未知,统计量tX‾−μSntSnX−μ服从标准正太分布,可以利用该统计量对总体均值μ\muμ进行假设检验,这种检验方法称为ttt检验法。适用条件:总体服从正态分布且方差未知;样本容量较小,一般小于30。
2024-04-20 15:41:31 1436 2
原创 python实现假设检验-z检验
当总体服从正太分布Nμδ2Nμδ2时,统计量zX‾−μδnzδnX−μ服从标准正太分布,因此可以利用该统计量对样本均值X‾X进行假设检验。这种检验方法称为zzz检验法。总体服从正态分布且方差已知,此时统计量zX‾−μδnzδnX−μ总体的方差未知,但样本量足够大,一般样本容量nnn需要大于30,此时统计量zX‾−μSnzSnX−μδ\deltaδ为总体标准差,SSS。
2024-04-08 16:23:08 1300
原创 假设检验与两类错误
首先从一个例子引出假设检验的思想假如一个盒子装了红白球共100个,张三说里面有99个是白球,现在从盒子中任取一球,结果取出的是红球,问张三的说法对吗?对于这个问题,我们可以采取如下的思路来解决,先假定张三说的对,那么取出红球的概率p红球1100p(红球)=1/100p红球1/100,也就是一次抽样取出红球是小概率事件,但现在一次抽样抽出红球,与小概率事件实际不符,所以我们认为原来的假定为假,这个盒子中不可能有99个白球。
2024-04-07 14:52:56 1460
原创 python实现常见统计量与统计分布
正太分布是统计中最常见的分布,以标准正太分布为基础构造的三个重要的统计量在实际中也有广泛的应用。一般由于总体的数量是非常巨大的,不可能对全部总体进行研究,通常会对总体进行抽样进行研究。从总体中按一定规则抽出的一部分个体称为样本,样品的个数称为样本容量。一个统计问题研究对象的全体称为总体,构成总体的每个成员称为个体。为样本标准差,峰度用来对数据分布的平峰或尖峰程度的测量。为取自某总体的样本, 若样本函数中。的分布称为自由度为n的卡方分布,记为。为取自某总体的样本,则偏度。为取自某总体的样本,峰度。
2024-03-24 21:32:16 790
原创 python实现大数定律与中心极限定理
大数定律表明随机变量序列的算术平均值依概率收敛于随机变量的期望。从图中可以看出随着样本量的增大,样本的均值逐渐收敛于总体期望。的分布会越来越趋近于标准正太分布。下面用代码来演示这个收敛过程。从图中可以看出随着抽样次数的增加,随机变量。是独立同分布的随机变量序列,且随机变量。是独立同分布的随机变量序列,且随机变量。服从二项分布,则随机取出一个长度为。,随着抽样次数的增大,随机变量序列。的分布越来越跟标准正太分布吻合。的均值的极限值就是随机变量。的增大,该随机变量序列。分布服从标准正太分布,
2024-03-22 09:40:27 940
原创 python实现常见一元随机变量的概率分布
生成服从不同参数二项分布的随机数组(采样100000次),然后查看数组的频率分布。生成服从不同参数几何分布的随机数组(采样100000次),然后查看数组的频率分布。生成服从不同参数泊松分布的随机数组(采样100000次),然后查看数组的频率分布。生成服从不同参数正太分布的随机数组(采样100000次),然后查看数组的频率分布。生成服从不同参数指数分布的随机数组(采样100000次),然后查看数组的频率分布。画出不同参数下的二项分布,画出不同参数下的几何分布,画出不同参数下的正太分布,的函数,比如随机变量。
2024-03-01 21:47:50 1019
原创 matplotlib 入门教程
Matplotlib是一个Python 2D绘图库,它可以在各种平台上以各种硬拷贝格式和交互式环境生成出具有出版品质的图形。Matplotlib试图让简单的事情变得更简单,让无法实现的事情变得可能实现。只需几行代码即可生成绘图,直方图,功率谱,条形图,错误图,散点图等。
2024-02-27 14:38:51 983
原创 pandas 读写常见文件性能对比
pandas在数据分析应用中使用频率非常高的python 库,在数据分析的过程中,读写文件是非常基础的操作,它关系到整个数据分析的性能表现。下面就用程序验证pandas 读写常见几种文件的性能表现。从以上表格中可以得出hdf5,pickle,parquet等格式的读写性能以及空间占用均比较好,当进行大量数据的分析时可以考虑使用这些格式。
2024-01-20 20:14:22 526 1
原创 Python实现交易策略评价指标-夏普比率
在投资的过程中,仅关注策略的收益率是不够的,同时还需要关注承受的风险,也就是收益风险比。夏普比率正是这样一个指标,它表示承担单位的风险会产生多少超额收益。
2023-12-04 22:19:30 777
原创 python实现交易策略评价指标-收益率
收益率几乎是所有投资者都会关注的一个指标,收益率的高低决定了投资策略的赚钱能力,常见关于收益率的指标如下:持有期收益率持有期收益率期末投资权益−期初投资权益期初投资权益持有期收益率 = \frac {期末投资权益 - 期初投资权益}{期初投资权益}持有期收益率期初投资权益期末投资权益−期初投资权益单利年化收益率(算术收益率)单利年化收益率持有期收益率持有期交易天数∗年交易天数单利年化收益率 = \frac{持有期收益率}{持有期交易天数} * 年交易天数。
2023-11-23 22:57:41 1215
原创 python实现交易策略评价指标-最大回测
最大回撤是评估金融产品收益的一个非常重要的风险指标,它指的是在选定历史周期内任一历史时点往后推,产品净值走到最低点时的收益率回撤幅度的最大值。以上图为例,最大回撤ValueA−ValueBValueA最大回撤 = \frac{(ValueA - ValueB) } {ValueA}最大回撤ValueAValueA−ValueB。
2023-11-19 10:04:33 997
原创 Java HashMap 删除元素时报错:java.util.ConcurrentModificationException
进入循环体后,map.remove()方法实际上调用了父类HashMap的removeNode方法,在该方法中modCount会自增,而expectedModCount不变。继续循环,在nextNode()方法中,由于modCount!迭代器自己封装的remove方法,最后一步多了一个操作 expectedModCount = modCount。第一次进入循环,由于modCount和expectedModCount相等,第一次循环获取了对象Entry。根据报错信息找到源代码位置,由于modCount!
2023-04-20 14:23:26 574
原创 深度学习入门之感知机
感知机接收多个输入信号,输出一个信号。这里所说的“信号”可以想象成电流或河流那样具备“流动性”的东西。像电流流过导线,向前方输送电子一样,感知机的信号也会形成流,向前方输送信息。但是,和实际的电流不同的是,感知机的信号只有“流/不流”(1/0)两种取值。其中x1x2x_1、x_2x1x2是输入信号,yyy是输出信号,w1w2w_1、w_2w1w2是权重。输入信号被送往神经元时,会被分别乘以固定的权重w1w2(w_1、w_2)w1w2。
2023-04-13 23:50:38 535
原创 机器学习分类算法评价指标
设置不同的阈值,会得到不同的TPR和FPR,而随着阈值的逐渐减小,越来越多的实例被划分为正类,但是这些正类中同样也掺杂着负类,即TPR和FPR会同时增大。分类算法的评价指标一般有准确率,精确率,召回率,F1-score,PR曲线,ROC,AUC。但一般来说,曲线下的面积是很难进行估算的,所以衍生出了“平衡点”(Break-Event Point,简称BEP),即当P=R时的取值,平衡点的取值越高,性能更优。对于所有的正样本,设置不同的阈值,模型预测所有的正样本,再根据对应的精准率和召回率绘制相应的曲线。
2023-03-26 22:19:06 1241
原创 Anaconda tensorflow开发环境搭建
由于Anaconda已经提前安装,其安装教程可以参考网上资料,这里不赘述。为了避免安装tensorflow对Anaconda的库造成影响,本次安装在Anaconda虚拟环境实现。已经成功安装tensorflow的虚拟环境需经过配置才能在jupyter中使用。此时可以在jupyter中找到tensorflow虚拟环境。至此,tensorflow环境搭建完毕。
2023-03-16 23:16:37 502
原创 hive如何实现行列转换
1. 行转列原始数据:nameconstellationblood_type孙悟空白羊座A大海射手座A宋宋白羊座B猪八戒白羊座A凤姐射手座A现在需要把星座和血型一样的人归类到一起。结果如下:射手座,A 大海|凤姐白羊座,A 孙悟空|猪八戒白羊座,B 宋宋# vim person.txt孙悟空,白羊座,A大海,射手座,A宋宋,白羊座,B猪八戒,白羊座,A凤姐,射手座,A# 创建hive表hive> c
2020-09-07 11:02:01 351
原创 kafka服务端源代码分析之Controller(1)
controller1.controller简介2.请求发送管理本broker请求发送给其他broker3.请求处理4.controller选举实现
2020-08-30 15:20:44 276
转载 Spark SQL Join实现原理
参考https://www.cnblogs.com/duodushuduokanbao/p/9911256.html
2020-08-27 23:34:19 847 2
原创 kafka服务端源代码分析之日志(1)
kafka日志目录kafka 的日志最终是以文件的形式存储的,每个topic的分区都对应一个物理存储目录,也就是一个Log。为了避免日志文件多大,Log并不是直接对应于磁盘上的一个日志文件,而是分成多个Logsegment。Logsegment对应磁盘上一个日志文件和三个索引文件,索引文件是为了实现消息的快速定位。入下图所示:total 2.3G-rw-r--r--. 1 root root 520K Jul 19 03:25 00000000000000000000.index # offset
2020-08-11 10:09:38 386
原创 kafka服务端源代码分析之网络层
网络层设计1.Acceptor2.Processor3.RequestChannel4.KafkaRequestHandlerPool5.启动流程
2020-08-02 22:55:10 213
原创 spark streaming运行原理源代码分析
运行流程streamingcontext启动start方法def start(): Unit = synchronized { state match { case INITIALIZED => startSite.set(DStream.getCreationSite()) StreamingContext.ACTIVATION_LOCK.synchronized { StreamingContext.assertNoOt
2020-07-30 10:56:02 227
原创 Spark Streaming高可用HA
Spark Streaming任务在运行过程中无论是Driver还是Executor异常被中断,都有可能导致计算任务失败,进而导致数据丢失等一系列问题,为此Spark Streaming提供了高可用解决方案。Driver高可用Driver是Spark Streaming程序的"大脑",一旦Driver挂掉,那么整个任务都会失败。Spark Streaming HA将Driver元数据写到checkpoint目录下,如果后面因为某些原因导致Driver节点挂掉,那么可以通过读取checkpoint目录下的
2020-07-27 00:08:58 271
原创 Spark Broadcast源代码分析
Broadcast源代码分析1.broadcastmanager的初始化2.广播变量broadcast写入值的流程3.广播变量value获取值的流程参考:https://blog.csdn.net/weixin_40318210/article/details/104097983
2020-07-24 23:14:57 231
原创 Spark BlockManager源代码分析
blockmanager概要1.基本介绍2.架构框图3.blockmanagermaster初始化,主要方法4.blockmanager初始化,主要方法参考:https://blog.csdn.net/u013174239/article/details/80429803
2020-07-22 23:59:44 856
原创 kafka 服务端源代码分析之LogManager
基本概念OffsetIndexLogSegmentLogappend 和 read方法LogManager初始化startup启动后台任务
2020-07-19 22:38:27 477
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人