zoukankan      html  css  js  c++  java
  • 将日线数据转为周线、月线或其他周期

    import os
    import pandas as pd
    
    stock_data = pd.read_csv('stock data/sh600898.csv',parse_dates=[1])
    #设定转换周期period_type  转换为周是'W',月'M',季度线'Q',五分钟'5min',12天'12D'
    period_type = 'W'
    #将[date]设定为    index   inplace是原地修改,不要创建一个新对象
    stock_data.set_index('date',inplace=True)
    #进行转换,周线的每个变量都等于那一周中最后一个交易日的变量值
    
    period_stock_data = stock_data.resample(period_type,how='last')
    #周线的change等于那一周中每日change的连续相乘
    period_stock_data['change'] = stock_data['change'].resample(period_type,how=lambda x:(x+1.0).prod()-1.0)
    #周线的open等于那一周中第一个交易日的open
    
    period_stock_data['open'] = stock_data['open'].resample(period_type,how='first')
    #周线的high等于那一周中的high的最大值
    
    period_stock_data['high'] = stock_data['high'].resample(period_type,how='max')
    #周线的low等于那一周中的low的最大值
    
    period_stock_data['low'] = stock_data['low'].resample(period_type,how='min')
    #周线的volume和money等于那一周中volume和money各自的和
    period_stock_data['volume'] = stock_data['volume'].resample(period_type,how='sum')
    period_stock_data['money'] = stock_data['money'].resample(period_type,how='sum')
    #计算周线turnover
    period_stock_data['turnover'] = period_stock_data['volume']/
                                    (period_stock_data['traded_market_value']/period_stock_data['close'])
    #股票在有些周一天都没有交易,将这些周去除
    period_stock_data = period_stock_data[period_stock_data['code'].notnull()]
    period_stock_data.reset_index(inplace=True)
    #导出数据
    period_stock_data.to_csv('week_stock_data.csv',index=False)
  • 相关阅读:
    Android 按键消息处理Android 按键消息处理
    objcopy
    SQLite多线程读写实践及常见问题总结
    android动画坐标定义
    Android动画效果translate、scale、alpha、rotate
    Android公共库(缓存 下拉ListView 下载管理Pro 静默安装 root运行 Java公共类)
    Flatten Binary Tree to Linked List
    Distinct Subsequences
    Populating Next Right Pointers in Each Node II
    Populating Next Right Pointers in Each Node
  • 原文地址:https://www.cnblogs.com/wumac/p/6076292.html
Copyright © 2011-2022 走看看