美文网首页
python积累1

python积累1

作者: 黄yy家的jby | 来源:发表于2018-12-08 22:33 被阅读0次

摘要

  • 读特定sheet特定行的excel,设定时间轴
  • 时间轴索引
  • 更改非交易日的调仓时间
  • 找离得最近的rollingtime
  • 更高位加仓,更低位减仓

1.读文件,设定轴

df_pb = pd.read_excel('指数行业估值跟踪.xlsx',sheetname='pb',skiprows= 3)
#从第三行开始读
df_pb.set_index(['Date'],inplace=True)

2. 时间索引

time_list = df_pb.index
df_pb.loc[time_list[0],'position']
df_pb.loc[pd.to_datetime('20100101'),'position']

3.更改调仓时间

由于设定的调仓有可能不是交易日,需要进行实际调整

reallocation_time = []
a = [b for b in time_list if b.month in [5,9,11]]
for i in range(1,len(a)):
    if a[i].month != a[i-1].month:
        reallocation_time.append(a[I])
  • 先找到一个完整交易的时间序列time_list
  • 找到设定调仓日期的月份的交易序列a
  • 由于设定的是5月9月11月期初,所以只需要将不同月份的提出来即可

4. 寻找离得最近的rollingtime

temp = [a for a in reallocation_time if a<= time_list[i]][-1]
  • 时间是可以进行比较的
  • 用[-1]表示最后一个,即最后一个小于当前时间的rollingtime

5. 高于更高的加仓,低于更低的减仓

max_n = min_n = 0
for i in range(len(timelist)):
    n = int((np.average(df_index.loc[time_list[i]])/np.average(df_index.loc[temp])-1)/0.1) 
    #n表示变化是10%的多少倍
    if n > max_n:
        max_n = n
        result.loc[time_list[i],'signal'] = 1
    if n < min_n:
        min_n = n
        result.loc[time_list[i],'signal'] = -1

6.写入

with open('guoguo.jpg',encoding='utf-8') as f:
        f.write(content)
        f.close()

7.dataframe 是否存在多值索引

df2[df2['E'].isin(['two', 'four'])]
多值索引

相关文章

  • python积累1

    摘要 读特定sheet特定行的excel,设定时间轴 时间轴索引 更改非交易日的调仓时间 找离得最近的rollin...

  • Python积累

    从基因组注释中提取转录因子 字符串find使用+异常值处理 今天又写了一个小脚本,从基因组的注释文件中筛选所有可能...

  • Python遇到buge解决方式积累-1

    在工作中遇到不定期更新出现乱码,或者有中文字符在开头加入下面这段

  • python知识积累

  • python技巧积累

    数组逐行替换 生成多维数组,元素随机 dict按照key排序生成list、dict按照value排序生成list 链接

  • python 用法积累

    print 格式化输出 click to 格式化输出 json使用实例 re使用实例 one eval 和 jso...

  • python积累2

    摘要 nan和0之间转换 resample('M').pad() conn = cx_Oracle.connect...

  • python 积累3

    摘要 1. 线性回归简单归纳 2. 不提醒warning 3.获取当前工作路径 4.Dataframe 行列 5....

  • python 积累5

    摘要 1. 模块同一个名字 可以放在不同文件夹下import 包名(文件夹名).模块名(py名).函数名 2.ma...

  • python 积累4

    摘要 1.时间序列用字典存储 方便之处在于不用切片,书写时直接写变量即可 2.加布尔变量表示 方便之处在于加仓减仓...

网友评论

      本文标题:python积累1

      本文链接:https://www.haomeiwen.com/subject/vdechqtx.html