股票补仓问题计算
设股票市值为x,跌停次数是n次,需补仓f(n),才能满足一次涨停就全部回本。通过python中的计算,发现满足以下规律:
n=1, f(1) = 0.1 * x
n=2, f(2) = 1.1 * x
n>2, f(n) = f(n-1) * 2
使用python3实现了这个股票补仓的计算,并且保存到表格中。还利用matplotlib库把曲线图画了出来,代码如下:
# coding: utf-8
import csv
import matplotlib.pyplot as plt
market_value = 1
money = 0
sum_money = 1
money_list = []
plt_list = []
drop = 0
for n in range(1, 21):
money = (sum_money - 0.99 * market_value) * 10
market_value = 0.9 * market_value + money
sum_money = sum_money + money
drop= 1 - 0.9**n
plt_list.append(round(money, 2))
money_list.append((n, round(drop, 2), round(money, 2), round(sum_money,2), round(market_value,2), round(market_value*1.1,2)))
headers = ['跌停次数','总跌幅','本次补仓','总成本','补仓后的市值', '补仓后涨停时的市值']
with open('stock.csv', 'w') as f:
f_csv = csv.writer(f,lineterminator='\n')
f_csv.writerow(headers)
f_csv.writerows(money_list)
plt.plot(plt_list)
plt.xlabel('days')
plt.ylabel('money')
plt.show()
通过补仓曲线发现,补仓资金是一个指数级的放大过程。所以在股市连续下跌中,传统的越跌越买的补仓方法不一定是好的,及时止损才正确。
2016-02-05
上一篇: cnforth设计思想 下一篇: 引力波数据的分析