打乱原始差价序列,组成新走势图。详见代码

import random
import pandas as pd
import numpy as np
import csv
import matplotlib.pyplot as plt
# 读入一阶差分序列
df = pd.read_csv('差分data.csv')
q=1000
diff_seq = np.squeeze(df[-q:].values.tolist()).tolist() # pd转化列表,还要去单元素的[]
n = 5  # 重新排列的次数
new_lsts = []
# 用洗牌器重新排列 random.shuffle
for i in range(n):
    random.shuffle(diff_seq)
    new_lsts.append(list(diff_seq))
dfn = pd.DataFrame(new_lsts)  #转化为pd
dfn_transposed = dfn.transpose() # 转置
dfn_transposed_cusm = dfn_transposed.cumsum()
#dfn_transposed_cusm.to_csv('fg6.csv')
pl = dfn_transposed_cusm
fig, (ax1) = plt.subplots(1, 1, figsize=(19.2, 10.8))
x = np.linspace(0, 5000, len(pl))
ax1.plot(x, pl[1]+2599, label="n=%d" % n)
ax1.grid(axis='y') 
dfn_transposed_cusm.to_csv('重排差分data.csv')    

此例中的数据我选取的是甲醇加权15M周期收盘价格,计算相邻价格的差价后,把差价序列保存至“差分data.csv“中,数据格式就只有一列,没有表头

我重拍序列用到的是random.shuffle()洗牌算法函数。

我生成了5组序列,并又保存至 '重排差分data.csv' 文件中

以下是我输出的其中一组新序列走势图

 

 以下是原始走势图

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值