来源:Python数据之道 (ID:PyDataLab)
作者:阳哥
大家好,我是阳哥。
我也是一个坚持在股市投资的小韭菜,这不,这个星期,可以说是连续遭遇几次暴击。
阳哥今年的收益,在7月份不仅全部抹平,还亏了好几个点。
我经常在我的另外一个公号「价值前瞻」里分享读书与投资的一些内容,经常会用Python来绘制一些图表。
这几天,在进一步研究各个品种的投资配置计划,类似如下表格:
对于单个股票或ETF或基金,我以前用的是 Excel 表格,但最近发现,如果同时计算多个品种的投资计划时,Excel 的粘贴复制并不好用,原因是 Excel 表格中有许多表格单元格需要按F4固定,在复制使用时需要逐个修改,表格多了后,经常会忘记修改,这对投资而言,就很不严谨,如果数据计算错误,就很有问题了。
于是,就想着用 Python 来制作上述表格,并尽量将数据简化,将计算过程进行封装。
表格制作过程
在 Python 中制作上述表格,咱们可以用 Pandas 来实现。
Pandas是一种高效的数据处理库,它以 dataframe
和 series
为基本数据类型,呈现出类似excel的二维数据。
我们先来观察上面的Excel表格,在表格中,价格系数以及仓位比例这两列数据,是由咱们主观来控制的;此外,首次开始购买时的价格,也是主观控制的;首次购买份数,是由咱们总资金情况,根据仓位比例计算出来的,在这里,首次购买数量,也可以由咱们来主观控制输入。
因此,在Python中制作这个表格,可以先将主观控制的内容定义为变量。
import pandas as pd
# 标的名称
name = '中概互联-513050'
# 首次购入价格
price_init = 2.0
# 首次加仓比例
rate_init = 0.01
# 首次购入份额数量
shares_init = 2000
data = {
'价格系数':[1,0.95,0.9,0.85,0.8,0.75,0.7,0.65],
'加仓比例':[rate_init,0.02,0.03,0.04,0.05,0.05,0.05,0.05],
}
df = pd.DataFrame(data=data)
df
将已有变量输入到 DataFrame 中后,得到下面的表格:
基于已有数据和变量来计算其他数据,包括 加仓批次
、品种名称 name
和 价格
列,同时设置其他列为空值( shares
为加仓数量,money
为 加仓金额)
df['加仓批次'] = list(range(1,len(df)+1))
df['name'] = name
df['价格'] = df['价格系数'] * price_init
df['