Pandas 时间处理函数速度对比

Pandas 非常擅长处理时间序列,拥有多种处理时间序列的函数和方法,自己做了几个小测试,看看内置函数都能适配哪种格式、哪种情况,速度又有多快。

我用到的时间处理主要是对细粒度的时间重采样至粗粒度,之后再对重采样后的时间进行分组再进行后续操作,如求和、求平均或取最后值。

所以我就设计两个场景,第一个场景是对频率为秒的时间序列重采样至一分钟然后求平均;第二个场景就是对频率为秒的时间序列重采样至 3 分钟然后对新的时间序列取每个时间的最新值。

所以首先是要生成一组数据

import pandas as pd

rng = pd.date_range(start='2018-04-07',end='2018-04-08',freq='s')
df = pd.DataFrame(pd.np.random.randn(rng.size),index=rng)
ser = pd.Series(pd.np.random.randn(rng.size …
➟ 查看全文

用数据验证定投是否优于直接投资

一直以来,定投的营销话术都是分批建仓,上涨时投资少降低成本,下跌时投资多赚取低估价值,但定投是否真的如宣传的那么美好?今天就用数据来模拟两种投资方式,看看孰优孰劣。

数据说明

本次实验使用三只 ETF 基金作为投资和定投标的,分别为华夏上证 50ETF(510050),华泰柏瑞沪深 300ETF(510300),广发中证 500ETF(510510),时间区间为 2013 年 5 月 27 日至 2018 年 6 月 7 日。

先上图了解下这段时间 ETF 基金大致走势。

50ETF 月线

上证50ETF

500ETF 周线

500ETF

这段区间整体来看是上涨的,大盘股涨的多,小盘股涨得少。分段来看 2013 年中至 2014 年中,属于震荡行情,2014 …

➟ 查看全文

git 和 github 主要使用方法

ssh 和密钥

ssh-keygen -t rsa -b 4096 -C "princelailai@gmail.com":生成密钥

cat ~/.ssh/id_rsa.pub:查看密钥

ssh -T git@github.com:测试密钥是否可以正常登录

设置

git config --list:列出当前 repo 所有设置

git config --global user.name "princelai":设置用户名

git config --global user.email "princelailai@gmail.com":设置 E-mail

echo "# mydotfiles" > README …

➟ 查看全文

用股票数据说明方差和标准差的特性

方差(Variance),应用数学里的专有名词。在概率论和统计学中,一个随机变量的方差描述的是它的离散程度,也就是该变量离其期望值的距离。一个实随机变量的方差也称为它的二阶矩或二阶中心动差,恰巧也是它的二阶累积量。这里把复杂说白了,就是将各个误差将之平方(而非取绝对值,使之肯定为正数),相加之后再除以总数,透过这样的方式来算出各个数据分布、零散(相对中心点)的程度。继续延伸的话,方差的算术平方根称为该随机变量的标准差(此为相对各个数据点间)。

标准差(Standard Deviation,SD),数学符号 \(\sigma\)(sigma),在概率统计中最常使用作为测量一组数值的离散程度之用。标准差定义:为方差开算术平方根,反映组内个体间的离散程度;标准差与期望值之比为标准离差率。

1.定义

方差的定义如下公式:

$$Var(X)=\sigma^2=E[(X-\mu)^2]$$

对上式化简后可得到如下公式:

$$\sigma^2=E[X^2]-(E …
➟ 查看全文

argparse模块简要用法

argparse是Python用于解析命令行参数的模块,拥有更强大的功能、更友好的使用方法,用来替代原始的sys.argv。

argparse的大致用法如下:

import argparse #导入模块
parser = argparse.ArgumentParser() #创建解析器
parser.add_argument() #添加参数
args = parser.parse_args() #解析参数

创建解析器时的可选参数很多,但没有特殊需求的情况下,默认参数就能很好的工作,所以这部分使用时临时查文档就能解决,不做过多记录。

这里仅记录下添加参数时的各种选项搭配,使用方法和选项如下:

ArgumentParser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])

每一个参数的含义:

  • name or flags - 名称或选项字符串列表,例如。foo或-f, —foo …
➟ 查看全文