11 Python总结之股票数据量化分析

本文通过tushare和pandas包获取并分析了股票600519的历史行情数据,计算了5日均线和60日均线,利用matplotlib进行了数据可视化。文章详细记录了金叉和死叉的日期,探讨了从2010年初起,基于金叉买入、死叉卖出的策略下,初始资金10万的收益情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

股票数据分析

目录

1 使用tushare包获取某股票的历史行情数据

2 使用pandas包计算某股票历史数据的5日均线和60日均线

3 matplotlib包可视化历史数据的收盘价和历史均线

4 分析输出所有金叉日志和死叉日期

5 如果从2010年1月1日开始,初试资金为100000元,金叉尽量买入,死叉全部卖出,则到今天为止,我的收益如何?

1 使用tushare包获取某股票的历史行情数据

Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工 到 数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。

import pandas as pd
import numpy as np
import tushare as ts
%matplotlib auto

df = ts.get_k_data("600519",start="2010-01-01")
df.to_csv("600519.csv")

df = pd.read_csv("600519.csv",index_col="date",parse_dates=["date"])[["open","close","high","low"]]
df
Using matplotlib backend: Qt5Agg
openclosehighlow
date
2010-01-04109.760108.446109.760108.044
2010-01-05109.116108.127109.441107.846
2010-01-06107.840106.417108.165106.129
2010-01-07106.417104.477106.691103.302
2010-01-08104.655103.379104.655102.167
2010-01-11104.400102.926105.230102.422
2010-01-12103.028105.708106.040102.492
2010-01-13104.649103.022105.389102.741
2010-01-14103.379107.552107.974103.379
2010-01-15107.533108.401110.641107.533
2010-01-18108.484109.110109.926108.420
2010-01-19109.116108.337109.441108.165
2010-01-20108.427105.881108.580105.804
2010-01-21105.842106.397107.450105.613
2010-01-22106.314104.738106.755103.309
2010-01-25104.560105.957106.761103.704
2010-01-26107.380106.378108.593105.038
2010-01-27105.951104.643107.068104.400
2010-01-28104.566107.974108.708104.336
2010-01-29108.452107.552108.612107.004
2010-02-01107.769107.776108.216106.576
2010-02-02107.208106.263108.484106.117
2010-02-03106.066105.887107.272104.783
2010-02-04105.868107.591108.006105.376
2010-02-05106.959109.282109.684106.570
2010-02-08109.282109.269112.058108.816
2010-02-09109.760109.193110.609108.822
2010-02-10109.760109.652110.137108.931
2010-02-11109.633110.641111.318109.505
2010-02-12111.018110.456111.164109.888
...............
2019-03-01761.500789.300790.000761.000
2019-03-04795.000781.860798.330777.220
2019-03-05785.000779.780789.550775.880
2019-03-06775.000768.000779.500765.880
2019-03-07762.220748.600762.220745.560
2019-03-08737.900737.500746.830733.650
2019-03-11740.040758.540766.950740.040
2019-03-12763.820745.010763.830739.000
2019-03-13745.500754.000760.750745.500
2019-03-14757.000778.000785.000754.000
2019-03-15776.000777.300787.500764.850
2019-03-18778.800810.090814.530777.000
2019-03-19803.000792.610807.920792.300
2019-03-20790.000792.800802.300785.000
2019-03-21788.000785.750792.800781.500
2019-03-22788.220794.000799.980785.000
2019-03-25786.000775.600788.000773.300
2019-03-26780.000773.000785.940764.100
2019-03-27781.000788.500793.880775.000
2019-03-28793.430806.800814.480785.680
2019-03-29835.000853.990866.680830.170
2019-04-01860.000859.000868.950851.000
2019-04-02859.990850.000859.990836.060
2019-04-03840.120844.500851.740834.210
2019-04-04840.000865.000865.800836.200
2019-04-08900.000900.200908.000890.120
2019-04-09903.000905.000908.200892.510
2019-04-10903.000947.990951.900900.000
2019-04-11948.000925.200950.000905.550
2019-04-12909.000914.000919.990900.010

2248 rows × 4 columns

2 使用pandas包计算该股票历史数据的5日均线和30日均线

(1)5日均线代码

df["ma5"] = df["open"].rolling(5).mean()
df
openclosehighlowma5ma30
date
2010-01-04109.760108.446109.760108.044NaNNaN
2010-01-05109.116108.127109.441107.846NaNNaN
2010-01-06107.840106.417108.165106.129NaNNaN
2010-01-07106.417104.477106.691103.302NaNNaN
2010-01-08104.655103.379104.655102.167107.5576NaN
2010-01-11104.400102.926105.230102.422106.4856NaN
2010-01-12103.028105.708106.040102.492105.2680NaN
2010-01-13104.649103.022105.389102.741104.6298NaN
2010-01-14103.379107.552107.974103.379104.0222NaN
2010-01-15107.533108.401110.641107.533104.5978NaN
2010-01-18108.484109.110109.926108.420105.4146NaN
2010-01-19109.116108.337109.441108.165106.6322NaN
2010-01-20108.427105.881108.580105.804107.3878NaN
2010-01-21105.842106.397107.450105.613107.8804NaN
2010-01-22106.314104.738106.755103.309107.6366NaN
2010-01-25104.560105.957106.761103.704106.8518NaN
2010-01-26107.380106.378108.593105.038106.5046NaN
2010-01-27105.951104.643107.068104.400106.0094NaN
2010-01-28104.566107.974108.708104.336105.7542NaN
2010-01-29108.452107.552108.612107.004106.1818NaN
2010-02-01107.769107.776108.216106.576106.8236NaN
2010-02-02107.208106.263108.484106.117106.7892NaN
2010-02-03106.066105.887107.272104.783106.8122NaN
2010-02-04105.868107.591108.006105.376107.0726NaN
2010-02-05106.959109.282109.684106.570106.7740NaN
2010-02-08109.282109.269112.058108.816107.0766NaN
2010-02-09109.760109.193110.609108.822107.5870NaN
2010-02-10109.760109.652110.137108.931108.3258NaN
2010-02-11109.633110.641111.318109.505109.0788NaN
2010-02-12111.018110.456111.164109.888109.8906107.106400
.....................
2019-03-01761.500789.300790.000761.000742.1900700.726000
2019-03-04795.000781.860798.330777.220755.0400706.126000
2019-03-05785.000779.780789.550775.880762.4800711.364000
2019-03-06775.000768.000779.500765.880770.8800715.264000
2019-03-07762.220748.600762.220745.560775.7440718.571333
2019-03-08737.900737.500746.830733.650771.0240721.001333
2019-03-11740.040758.540766.950740.040760.0320722.669333
2019-03-12763.820745.010763.830739.000755.7960725.263333
2019-03-13745.500754.000760.750745.500749.8960727.872667
2019-03-14757.000778.000785.000754.000748.8520730.762667
2019-03-15776.000777.300787.500764.850756.4720734.100000
2019-03-18778.800810.090814.530777.000764.2240737.260000
2019-03-19803.000792.610807.920792.300772.0600741.443333
2019-03-20790.000792.800802.300785.000780.9600744.943667
2019-03-21788.000785.750792.800781.500787.1600748.543667
2019-03-22788.220794.000799.980785.000789.6040751.583000
2019-03-25786.000775.600788.000773.300791.0440754.616333
2019-03-26780.000773.000785.940764.100786.4440756.516333
2019-03-27781.000788.500793.880775.000784.6440758.449667
2019-03-28793.430806.800814.480785.680785.7300760.524000
2019-03-29835.000853.990866.680830.170795.0860763.861333
2019-04-01860.000859.000868.950851.000809.8860768.161333
2019-04-02859.990850.000859.990836.060825.8840772.129000
2019-04-03840.120844.500851.740834.210837.7080775.633000
2019-04-04840.000865.000865.800836.200847.0220779.633000
2019-04-08900.000900.200908.000890.120860.0220785.733000
2019-04-09903.000905.000908.200892.510868.6220791.474667
2019-04-10903.000947.990951.900900.000877.2240796.648000
2019-04-11948.000925.200950.000905.550898.8000803.814667
2019-04-12909.000914.000919.990900.010912.6000809.518000

2248 rows × 6 columns

(2)30日均线代码

df["ma30"] = df["open"].rolling(30).mean()
df
openclosehighlowma5ma30
date
2010-01-04109.760108.446109.760108.044NaNNaN
2010-01-05109.116108.127109.441107.846NaNNaN
2010-01-06107.840106.417108.165106.129NaNNaN
2010-01-07106.417104.477106.691103.302NaNNaN
2010-01-08104.655103.379104.655102.167107.5576NaN
2010-01-11104.400102.926105.230102.422106.4856NaN
2010-01-12103.028105.708106.040102.492105.2680NaN
2010-01-13104.649103.022105.389102.741104.6298NaN
2010-01-14103.379107.552107.974103.379104.0222NaN
2010-01-15107.533108.401110.641107.533104.5978NaN
2010-01-18108.484109.110109.926108.420105.4146NaN
2010-01-19109.116108.337109.441108.165106.6322NaN
2010-01-20108.427105.881108.580105.804107.3878NaN
2010-01-21105.842106.397107.450105.613107.8804NaN
2010-01-22106.314104.738106.755103.309107.6366NaN
2010-01-25104.560105.957106.761103.704106.8518NaN
2010-01-26107.380106.378108.593105.038106.5046NaN
2010-01-27105.951104.643107.068104.400106.0094NaN
2010-01-28104.566107.974108.708104.336105.7542NaN
2010-01-29108.452107.552108.612107.004106.1818NaN
2010-02-01107.769107.776108.216106.576106.8236NaN
2010-02-02107.208106.263108.484106.117106.7892NaN
2010-02-03106.066105.887107.272104.783106.8122NaN
2010-02-04105.868107.591108.006105.376107.0726NaN
2010-02-05106.959109.282109.684106.570106.7740NaN
2010-02-08109.282109.269112.058108.816107.0766NaN
2010-02-09109.760109.193110.609108.822107.5870NaN
2010-02-10109.760109.652110.137108.931108.3258NaN
2010-02-11109.633110.641111.318109.505109.0788NaN
2010-02-12111.018110.456111.164109.888109.8906107.106400
.....................
2019-03-01761.500789.300790.000761.000742.1900700.726000
2019-03-04795.000781.860798.330777.220755.0400706.126000
2019-03-05785.000779.780789.550775.880762.4800711.364000
2019-03-06775.000768.000779.500765.880770.8800715.264000
2019-03-07762.220748.600762.220745.560775.7440718.571333
2019-03-08737.900737.500746.830733.650771.0240721.001333
2019-03-11740.040758.540766.950740.040760.0320722.669333
2019-03-12763.820745.010763.830739.000755.7960725.263333
2019-03-13745.500754.000760.750745.500749.8960727.872667
2019-03-14757.000778.000785.000754.000748.8520730.762667
2019-03-15776.000777.300787.500764.850756.4720734.100000
2019-03-18778.800810.090814.530777.000764.2240737.260000
2019-03-19803.000792.610807.920792.300772.0600741.443333
2019-03-20790.000792.800802.300785.000780.9600744.943667
2019-03-21788.000785.750792.800781.500787.1600748.543667
2019-03-22788.220794.000799.980785.000789.6040751.583000
2019-03-25786.000775.600788.000773.300791.0440754.616333
2019-03-26780.000773.000785.940764.100786.4440756.516333
2019-03-27781.000788.500793.880775.000784.6440758.449667
2019-03-28793.430806.800814.480785.680785.7300760.524000
2019-03-29835.000853.990866.680830.170795.0860763.861333
2019-04-01860.000859.000868.950851.000809.8860768.161333
2019-04-02859.990850.000859.990836.060825.8840772.129000
2019-04-03840.120844.500851.740834.210837.7080775.633000
2019-04-04840.000865.000865.800836.200847.0220779.633000
2019-04-08900.000900.200908.000890.120860.0220785.733000
2019-04-09903.000905.000908.200892.510868.6220791.474667
2019-04-10903.000947.990951.900900.000877.2240796.648000
2019-04-11948.000925.200950.000905.550898.8000803.814667
2019-04-12909.000914.000919.990900.010912.6000809.518000

2248 rows × 6 columns

3 使用matplotlib包可视化历史数据的收盘价和历史均线

# 输出2010-2019年的
import matplotlib.pyplot as plt
%matplotlib inline
df[["close","ma5","ma30"]].plot()
plt.show()

在这里插入图片描述

# 2018年的
df.loc["2018",["close","ma5","ma30"]].plot()
plt.show()

在这里插入图片描述

4 分析输出所有金叉日期和死叉日期

(1)金叉日期

# 金叉:小日期均线上穿大日期均线
golden_cross = []
# 死叉;小日期均线下穿大日期均线
death_cross = []
for i in range(1,len(df)):
    if df["ma5"][i] >= df["ma30"][i] and df["ma5"][i-1] < df["ma30"][i-1]:
        golden_cross.append(df.index[i].to_pydatetime())
    if df["ma5"][i] <= df["ma30"][i] and df["ma5"][i-1] > df["ma30"][i-1]:
        death_cross.append(df.index[i].to_pydatetime())
golden_cross
[datetime.datetime(2010, 6, 7, 0, 0),
 datetime.datetime(2010, 7, 20, 0, 0),
 datetime.datetime(2010, 10, 26, 0, 0),
 datetime.datetime(2010, 11, 11, 0, 0),
 datetime.datetime(2011, 2, 14, 0, 0),
 datetime.datetime(2011, 3, 15, 0, 0),
 datetime.datetime(2011, 4, 28, 0, 0),
 datetime.datetime(2011, 10, 26, 0, 0),
 datetime.datetime(2012, 2, 13, 0, 0),
 datetime.datetime(2012, 4, 9, 0, 0),
 datetime.datetime(2012, 7, 26, 0, 0),
 datetime.datetime(2012, 8, 10, 0, 0),
 datetime.datetime(2012, 9, 13, 0, 0),
 datetime.datetime(2012, 9, 28, 0, 0),
 datetime.datetime(2012, 12, 24, 0, 0),
 datetime.datetime(2013, 1, 9, 0, 0),
 datetime.datetime(2013, 3, 12, 0, 0),
 datetime.datetime(2013, 4, 18, 0, 0),
 datetime.datetime(2013, 7, 4, 0, 0),
 datetime.datetime(2013, 10, 22, 0, 0),
 datetime.datetime(2013, 11, 12, 0, 0),
 datetime.datetime(2013, 11, 29, 0, 0),
 datetime.datetime(2014, 1, 24, 0, 0),
 datetime.datetime(2014, 4, 3, 0, 0),
 datetime.datetime(2014, 6, 24, 0, 0),
 datetime.datetime(2014, 9, 5, 0, 0),
 datetime.datetime(2014, 9, 30, 0, 0),
 datetime.datetime(2014, 11, 18, 0, 0),
 datetime.datetime(2014, 12, 1, 0, 0),
 datetime.datetime(2015, 2, 16, 0, 0),
 datetime.datetime(2015, 6, 12, 0, 0),
 datetime.datetime(2015, 7, 16, 0, 0),
 datetime.datetime(2015, 9, 18, 0, 0),
 datetime.datetime(2015, 10, 8, 0, 0),
 datetime.datetime(2015, 12, 7, 0, 0),
 datetime.datetime(2015, 12, 21, 0, 0),
 datetime.datetime(2016, 2, 22, 0, 0),
 datetime.datetime(2016, 8, 11, 0, 0),
 datetime.datetime(2016, 10, 14, 0, 0),
 datetime.datetime(2016, 11, 28, 0, 0),
 datetime.datetime(2017, 7, 25, 0, 0),
 datetime.datetime(2017, 9, 19, 0, 0),
 datetime.datetime(2017, 12, 15, 0, 0),
 datetime.datetime(2018, 3, 19, 0, 0),
 datetime.datetime(2018, 5, 10, 0, 0),
 datetime.datetime(2018, 7, 19, 0, 0),
 datetime.datetime(2018, 7, 26, 0, 0),
 datetime.datetime(2018, 9, 21, 0, 0),
 datetime.datetime(2018, 12, 4, 0, 0),
 datetime.datetime(2019, 1, 3, 0, 0)]

(3)死叉日期

golden_cross = []
death_cross = []
for i in range(1,len(df)):
    if df["ma5"][i] >= df["ma30"][i] and df["ma5"][i-1] < df["ma30"][i-1]:
        golden_cross.append(df.index[i].to_pydatetime())
    if df["ma5"][i] <= df["ma30"][i] and df["ma5"][i-1] < df["ma30"][i-1]:
        death_cross.append(df.index[i].to_pydatetime())
death_cross
[datetime.datetime(2010, 3, 2, 0, 0),
 datetime.datetime(2010, 3, 3, 0, 0),
 datetime.datetime(2010, 3, 4, 0, 0),
 datetime.datetime(2010, 3, 5, 0, 0),
 datetime.datetime(2010, 3, 8, 0, 0),
 datetime.datetime(2010, 3, 9, 0, 0),
 datetime.datetime(2010, 3, 10, 0, 0),
 datetime.datetime(2010, 3, 11, 0, 0),
 datetime.datetime(2010, 3, 12, 0, 0),
 datetime.datetime(2010, 3, 15, 0, 0),
 datetime.datetime(2010, 3, 16, 0, 0),
 datetime.datetime(2010, 3, 17, 0, 0),
 datetime.datetime(2010, 3, 18, 0, 0),
 datetime.datetime(2010, 3, 19, 0, 0),
 datetime.datetime(2010, 3, 22, 0, 0),
 datetime.datetime(2010, 3, 23, 0, 0),
 datetime.datetime(2010, 3, 24, 0, 0),
 datetime.datetime(2010, 3, 25, 0, 0),
 datetime.datetime(2010, 3, 26, 0, 0),
 datetime.datetime(2010, 3, 29, 0, 0),
 datetime.datetime(2010, 3, 30, 0, 0),
 datetime.datetime(2010, 3, 31, 0, 0),
 datetime.datetime(2010, 4, 1, 0, 0),
 datetime.datetime(2010, 4, 2, 0, 0),
 datetime.datetime(2010, 4, 6, 0, 0),
 datetime.datetime(2010, 4, 7, 0, 0),
 datetime.datetime(2010, 4, 8, 0, 0),
 datetime.datetime(2010, 4, 9, 0, 0),
 datetime.datetime(2010, 4, 12, 0, 0),
 datetime.datetime(2010, 4, 13, 0, 0),
 datetime.datetime(2010, 4, 14, 0, 0),
 datetime.datetime(2010, 4, 15, 0, 0),
 datetime.datetime(2010, 4, 16, 0, 0),
 datetime.datetime(2010, 4, 19, 0, 0),
 datetime.datetime(2010, 4, 20, 0, 0),
 datetime.datetime(2010, 4, 21, 0, 0),
 datetime.datetime(2010, 4, 22, 0, 0),
 datetime.datetime(2010, 4, 23, 0, 0),
 datetime.datetime(2010, 4, 26, 0, 0),
 datetime.datetime(2010, 4, 27, 0, 0),
 datetime.datetime(2010, 4, 28, 0, 0),
 datetime.datetime(2010, 4, 29, 0, 0),
 datetime.datetime(2010, 4, 30, 0, 0),
 datetime.datetime(2010, 5, 4, 0, 0),
 datetime.datetime(2010, 5, 5, 0, 0),
 datetime.datetime(2010, 5, 6, 0, 0),
 datetime.datetime(2010, 5, 7, 0, 0),
 datetime.datetime(2010, 5, 10, 0, 0),
 datetime.datetime(2010, 5, 11, 0, 0),
 datetime.datetime(2010, 5, 12, 0, 0),
 datetime.datetime(2010, 5, 13, 0, 0),
 datetime.datetime(2010, 5, 14, 0, 0),
 datetime.datetime(2010, 5, 17, 0, 0),
 datetime.datetime(2010, 5, 18, 0, 0),
 datetime.datetime(2010, 5, 19, 0, 0),
 datetime.datetime(2010, 5, 20, 0, 0),
 datetime.datetime(2010, 5, 21, 0, 0),
 datetime.datetime(2010, 5, 24, 0, 0),
 datetime.datetime(2010, 5, 25, 0, 0),
 datetime.datetime(2010, 5, 26, 0, 0),
 datetime.datetime(2010, 5, 31, 0, 0),
 datetime.datetime(2010, 6, 1, 0, 0),
 datetime.datetime(2010, 6, 2, 0, 0),
 datetime.datetime(2010, 6, 3, 0, 0),
 datetime.datetime(2010, 6, 4, 0, 0),
 datetime.datetime(2010, 6, 25, 0, 0),
 datetime.datetime(2010, 6, 28, 0, 0),
 datetime.datetime(2010, 6, 29, 0, 0),
 datetime.datetime(2010, 6, 30, 0, 0),
 datetime.datetime(2010, 7, 1, 0, 0),
 datetime.datetime(2010, 7, 2, 0, 0),
 datetime.datetime(2010, 7, 5, 0, 0),
 datetime.datetime(2010, 7, 6, 0, 0),
 datetime.datetime(2010, 7, 7, 0, 0),
 datetime.datetime(2010, 7, 8, 0, 0),
 datetime.datetime(2010, 7, 9, 0, 0),
 datetime.datetime(2010, 7, 12, 0, 0),
 datetime.datetime(2010, 7, 13, 0, 0),
 datetime.datetime(2010, 7, 14, 0, 0),
 datetime.datetime(2010, 7, 15, 0, 0),
 datetime.datetime(2010, 7, 16, 0, 0),
 datetime.datetime(2010, 7, 19, 0, 0),
 datetime.datetime(2010, 10, 19, 0, 0),
 datetime.datetime(2010, 10, 20, 0, 0),
 datetime.datetime(2010, 10, 21, 0, 0),
 datetime.datetime(2010, 10, 22, 0, 0),
 datetime.datetime(2010, 10, 25, 0, 0),
 datetime.datetime(2010, 11, 3, 0, 0),
 datetime.datetime(2010, 11, 4, 0, 0),
 datetime.datetime(2010, 11, 5, 0, 0),
 datetime.datetime(2010, 11, 8, 0, 0),
 datetime.datetime(2010, 11, 9, 0, 0),
 datetime.datetime(2010, 11, 10, 0, 0),
 datetime.datetime(2010, 12, 28, 0, 0),
 datetime.datetime(2010, 12, 29, 0, 0),
 datetime.datetime(2010, 12, 30, 0, 0),
 datetime.datetime(2010, 12, 31, 0, 0),
 datetime.datetime(2011, 1, 4, 0, 0),
 datetime.datetime(2011, 1, 5, 0, 0),
 datetime.datetime(2011, 1, 6, 0, 0),
 datetime.datetime(2011, 1, 7, 0, 0),
 datetime.datetime(2011, 1, 10, 0, 0),
 datetime.datetime(2011, 1, 11, 0, 0),
 datetime.datetime(2011, 1, 12, 0, 0),
 datetime.datetime(2011, 1, 13, 0, 0),
 datetime.datetime(2011, 1, 14, 0, 0),
 datetime.datetime(2011, 1, 17, 0, 0),
 datetime.datetime(2011, 1, 18, 0, 0),
 datetime.datetime(2011, 1, 19, 0, 0),
 datetime.datetime(2011, 1, 20, 0, 0),
 datetime.datetime(2011, 1, 21, 0, 0),
 datetime.datetime(2011, 1, 24, 0, 0),
 datetime.datetime(2011, 1, 25, 0, 0),
 datetime.datetime(2011, 1, 26, 0, 0),
 datetime.datetime(2011, 1, 27, 0, 0),
 datetime.datetime(2011, 1, 28, 0, 0),
 datetime.datetime(2011, 1, 31, 0, 0),
 datetime.datetime(2011, 2, 1, 0, 0),
 datetime.datetime(2011, 2, 9, 0, 0),
 datetime.datetime(2011, 2, 10, 0, 0),
 datetime.datetime(2011, 2, 11, 0, 0),
 datetime.datetime(2011, 3, 4, 0, 0),
 datetime.datetime(2011, 3, 7, 0, 0),
 datetime.datetime(2011, 3, 8, 0, 0),
 datetime.datetime(2011, 3, 9, 0, 0),
 datetime.datetime(2011, 3, 10, 0, 0),
 datetime.datetime(2011, 3, 11, 0, 0),
 datetime.datetime(2011, 3, 14, 0, 0),
 datetime.datetime(2011, 4, 1, 0, 0),
 datetime.datetime(2011, 4, 6, 0, 0),
 datetime.datetime(2011, 4, 7, 0, 0),
 datetime.datetime(2011, 4, 8, 0, 0),
 datetime.datetime(2011, 4, 11, 0, 0),
 datetime.datetime(2011, 4, 12, 0, 0),
 datetime.datetime(2011, 4, 13, 0, 0),
 datetime.datetime(2011, 4, 14, 0, 0),
 datetime.datetime(2011, 4, 15, 0, 0),
 datetime.datetime(2011, 4, 18, 0, 0),
 datetime.datetime(2011, 4, 19, 0, 0),
 datetime.datetime(2011, 4, 20, 0, 0),
 datetime.datetime(2011, 4, 21, 0, 0),
 datetime.datetime(2011, 4, 22, 0, 0),
 datetime.datetime(2011, 4, 25, 0, 0),
 datetime.datetime(2011, 4, 26, 0, 0),
 datetime.datetime(2011, 4, 27, 0, 0),
 datetime.datetime(2011, 9, 13, 0, 0),
 datetime.datetime(2011, 9, 14, 0, 0),
 datetime.datetime(2011, 9, 15, 0, 0),
 datetime.datetime(2011, 9, 16, 0, 0),
 datetime.datetime(2011, 9, 19, 0, 0),
 datetime.datetime(2011, 9, 20, 0, 0),
 datetime.datetime(2011, 9, 21, 0, 0),
 datetime.datetime(2011, 9, 22, 0, 0),
 datetime.datetime(2011, 9, 23, 0, 0),
 datetime.datetime(2011, 9, 26, 0, 0),
 datetime.datetime(2011, 9, 27, 0, 0),
 datetime.datetime(2011, 9, 28, 0, 0),
 datetime.datetime(2011, 9, 29, 0, 0),
 datetime.datetime(2011, 9, 30, 0, 0),
 datetime.datetime(2011, 10, 10, 0, 0),
 datetime.datetime(2011, 10, 11, 0, 0),
 datetime.datetime(2011, 10, 12, 0, 0),
 datetime.datetime(2011, 10, 13, 0, 0),
 datetime.datetime(2011, 10, 14, 0, 0),
 datetime.datetime(2011, 10, 17, 0, 0),
 datetime.datetime(2011, 10, 18, 0, 0),
 datetime.datetime(2011, 10, 19, 0, 0),
 datetime.datetime(2011, 10, 20, 0, 0),
 datetime.datetime(2011, 10, 21, 0, 0),
 datetime.datetime(2011, 10, 24, 0, 0),
 datetime.datetime(2011, 10, 25, 0, 0),
 datetime.datetime(2011, 12, 13, 0, 0),
 datetime.datetime(2011, 12, 14, 0, 0),
 datetime.datetime(2011, 12, 15, 0, 0),
 datetime.datetime(2011, 12, 16, 0, 0),
 datetime.datetime(2011, 12, 19, 0, 0),
 datetime.datetime(2011, 12, 20, 0, 0),
 datetime.datetime(2011, 12, 21, 0, 0),
 datetime.datetime(2011, 12, 22, 0, 0),
 datetime.datetime(2011, 12, 23, 0, 0),
 datetime.datetime(2011, 12, 26, 0, 0),
 datetime.datetime(2011, 12, 27, 0, 0),
 datetime.datetime(2011, 12, 28, 0, 0),
 datetime.datetime(2011, 12, 29, 0, 0),
 datetime.datetime(2011, 12, 30, 0, 0),
 datetime.datetime(2012, 1, 4, 0, 0),
 datetime.datetime(2012, 1, 5, 0, 0),
 datetime.datetime(2012, 1, 6, 0, 0),
 datetime.datetime(2012, 1, 9, 0, 0),
 datetime.datetime(2012, 1, 10, 0, 0),
 datetime.datetime(2012, 1, 11, 0, 0),
 datetime.datetime(2012, 1, 12, 0, 0),
 datetime.datetime(2012, 1, 13, 0, 0),
 datetime.datetime(2012, 1, 16, 0, 0),
 datetime.datetime(2012, 1, 17, 0, 0),
 datetime.datetime(2012, 1, 18, 0, 0),
 datetime.datetime(2012, 1, 19, 0, 0),
 datetime.datetime(2012, 1, 20, 0, 0),
 datetime.datetime(2012, 1, 30, 0, 0),
 datetime.datetime(2012, 1, 31, 0, 0),
 datetime.datetime(2012, 2, 1, 0, 0),
 datetime.datetime(2012, 2, 2, 0, 0),
 datetime.datetime(2012, 2, 3, 0, 0),
 datetime.datetime(2012, 2, 6, 0, 0),
 datetime.datetime(2012, 2, 7, 0, 0),
 datetime.datetime(2012, 2, 8, 0, 0),
 datetime.datetime(2012, 2, 9, 0, 0),
 datetime.datetime(2012, 2, 10, 0, 0),
 datetime.datetime(2012, 8, 6, 0, 0),
 datetime.datetime(2012, 8, 7, 0, 0),
 datetime.datetime(2012, 8, 8, 0, 0),
 datetime.datetime(2012, 8, 9, 0, 0),
 datetime.datetime(2012, 8, 15, 0, 0),
 datetime.datetime(2012, 8, 16, 0, 0),
 datetime.datetime(2012, 8, 17, 0, 0),
 datetime.datetime(2012, 8, 20, 0, 0),
 datetime.datetime(2012, 8, 21, 0, 0),
 datetime.datetime(2012, 8, 22, 0, 0),
 datetime.datetime(2012, 8, 23, 0, 0),
 datetime.datetime(2012, 8, 24, 0, 0),
 datetime.datetime(2012, 8, 27, 0, 0),
 datetime.datetime(2012, 8, 28, 0, 0),
 datetime.datetime(2012, 8, 29, 0, 0),
 datetime.datetime(2012, 8, 30, 0, 0),
 datetime.datetime(2012, 8, 31, 0, 0),
 datetime.datetime(2012, 9, 4, 0, 0),
 datetime.datetime(2012, 9, 5, 0, 0),
 datetime.datetime(2012, 9, 6, 0, 0),
 datetime.datetime(2012, 9, 7, 0, 0),
 datetime.datetime(2012, 9, 10, 0, 0),
 datetime.datetime(2012, 9, 11, 0, 0),
 datetime.datetime(2012, 9, 12, 0, 0),
 datetime.datetime(2012, 9, 25, 0, 0),
 datetime.datetime(2012, 9, 26, 0, 0),
 datetime.datetime(2012, 9, 27, 0, 0),
 datetime.datetime(2012, 11, 9, 0, 0),
 datetime.datetime(2012, 11, 12, 0, 0),
 datetime.datetime(2012, 11, 13, 0, 0),
 datetime.datetime(2012, 11, 14, 0, 0),
 datetime.datetime(2012, 11, 15, 0, 0),
 datetime.datetime(2012, 11, 16, 0, 0),
 datetime.datetime(2012, 11, 19, 0, 0),
 datetime.datetime(2012, 11, 20, 0, 0),
 datetime.datetime(2012, 11, 21, 0, 0),
 datetime.datetime(2012, 11, 22, 0, 0),
 datetime.datetime(2012, 11, 23, 0, 0),
 datetime.datetime(2012, 11, 26, 0, 0),
 datetime.datetime(2012, 11, 27, 0, 0),
 datetime.datetime(2012, 11, 28, 0, 0),
 datetime.datetime(2012, 11, 29, 0, 0),
 datetime.datetime(2012, 11, 30, 0, 0),
 datetime.datetime(2012, 12, 3, 0, 0),
 datetime.datetime(2012, 12, 4, 0, 0),
 datetime.datetime(2012, 12, 5, 0, 0),
 datetime.datetime(2012, 12, 6, 0, 0),
 datetime.datetime(2012, 12, 7, 0, 0),
 datetime.datetime(2012, 12, 11, 0, 0),
 datetime.datetime(2012, 12, 12, 0, 0),
 datetime.datetime(2012, 12, 13, 0, 0),
 datetime.datetime(2012, 12, 14, 0, 0),
 datetime.datetime(2012, 12, 17, 0, 0),
 datetime.datetime(2012, 12, 18, 0, 0),
 datetime.datetime(2012, 12, 19, 0, 0),
 datetime.datetime(2012, 12, 20, 0, 0),
 datetime.datetime(2012, 12, 21, 0, 0),
 datetime.datetime(2012, 12, 27, 0, 0),
 datetime.datetime(2012, 12, 28, 0, 0),
 datetime.datetime(2012, 12, 31, 0, 0),
 datetime.datetime(2013, 1, 4, 0, 0),
 datetime.datetime(2013, 1, 7, 0, 0),
 datetime.datetime(2013, 1, 8, 0, 0),
 datetime.datetime(2013, 1, 21, 0, 0),
 datetime.datetime(2013, 1, 22, 0, 0),
 datetime.datetime(2013, 1, 23, 0, 0),
 datetime.datetime(2013, 1, 24, 0, 0),
 datetime.datetime(2013, 1, 25, 0, 0),
 datetime.datetime(2013, 1, 28, 0, 0),
 datetime.datetime(2013, 1, 29, 0, 0),
 datetime.datetime(2013, 1, 30, 0, 0),
 datetime.datetime(2013, 1, 31, 0, 0),
 datetime.datetime(2013, 2, 1, 0, 0),
 datetime.datetime(2013, 2, 4, 0, 0),
 datetime.datetime(2013, 2, 5, 0, 0),
 datetime.datetime(2013, 2, 6, 0, 0),
 datetime.datetime(2013, 2, 7, 0, 0),
 datetime.datetime(2013, 2, 8, 0, 0),
 datetime.datetime(2013, 2, 18, 0, 0),
 datetime.datetime(2013, 2, 19, 0, 0),
 datetime.datetime(2013, 2, 20, 0, 0),
 datetime.datetime(2013, 2, 21, 0, 0),
 datetime.datetime(2013, 2, 22, 0, 0),
 datetime.datetime(2013, 2, 25, 0, 0),
 datetime.datetime(2013, 2, 26, 0, 0),
 datetime.datetime(2013, 2, 27, 0, 0),
 datetime.datetime(2013, 2, 28, 0, 0),
 datetime.datetime(2013, 3, 1, 0, 0),
 datetime.datetime(2013, 3, 4, 0, 0),
 datetime.datetime(2013, 3, 5, 0, 0),
 datetime.datetime(2013, 3, 6, 0, 0),
 datetime.datetime(2013, 3, 7, 0, 0),
 datetime.datetime(2013, 3, 8, 0, 0),
 datetime.datetime(2013, 3, 11, 0, 0),
 datetime.datetime(2013, 3, 20, 0, 0),
 datetime.datetime(2013, 3, 21, 0, 0),
 datetime.datetime(2013, 3, 22, 0, 0),
 datetime.datetime(2013, 3, 25, 0, 0),
 datetime.datetime(2013, 3, 26, 0, 0),
 datetime.datetime(2013, 3, 27, 0, 0),
 datetime.datetime(2013, 3, 28, 0, 0),
 datetime.datetime(2013, 3, 29, 0, 0),
 datetime.datetime(2013, 4, 1, 0, 0),
 datetime.datetime(2013, 4, 2, 0, 0),
 datetime.datetime(2013, 4, 3, 0, 0),
 datetime.datetime(2013, 4, 8, 0, 0),
 datetime.datetime(2013, 4, 9, 0, 0),
 datetime.datetime(2013, 4, 10, 0, 0),
 datetime.datetime(2013, 4, 11, 0, 0),
 datetime.datetime(2013, 4, 12, 0, 0),
 datetime.datetime(2013, 4, 15, 0, 0),
 datetime.datetime(2013, 4, 16, 0, 0),
 datetime.datetime(2013, 4, 17, 0, 0),
 datetime.datetime(2013, 6, 24, 0, 0),
 datetime.datetime(2013, 6, 25, 0, 0),
 datetime.datetime(2013, 6, 26, 0, 0),
 datetime.datetime(2013, 6, 27, 0, 0),
 datetime.datetime(2013, 6, 28, 0, 0),
 datetime.datetime(2013, 7, 1, 0, 0),
 datetime.datetime(2013, 7, 2, 0, 0),
 datetime.datetime(2013, 7, 3, 0, 0),
 datetime.datetime(2013, 7, 17, 0, 0),
 datetime.datetime(2013, 7, 18, 0, 0),
 datetime.datetime(2013, 7, 19, 0, 0),
 datetime.datetime(2013, 7, 22, 0, 0),
 datetime.datetime(2013, 7, 23, 0, 0),
 datetime.datetime(2013, 7, 24, 0, 0),
 datetime.datetime(2013, 7, 25, 0, 0),
 datetime.datetime(2013, 7, 26, 0, 0),
 datetime.datetime(2013, 7, 29, 0, 0),
 datetime.datetime(2013, 7, 30, 0, 0),
 datetime.datetime(2013, 7, 31, 0, 0),
 datetime.datetime(2013, 8, 1, 0, 0),
 datetime.datetime(2013, 8, 2, 0, 0),
 datetime.datetime(2013, 8, 5, 0, 0),
 datetime.datetime(2013, 8, 6, 0, 0),
 datetime.datetime(2013, 8, 7, 0, 0),
 datetime.datetime(2013, 8, 8, 0, 0),
 datetime.datetime(2013, 8, 9, 0, 0),
 datetime.datetime(2013, 8, 12, 0, 0),
 datetime.datetime(2013, 8, 13, 0, 0),
 datetime.datetime(2013, 8, 14, 0, 0),
 datetime.datetime(2013, 8, 15, 0, 0),
 datetime.datetime(2013, 8, 16, 0, 0),
 datetime.datetime(2013, 8, 19, 0, 0),
 datetime.datetime(2013, 8, 20, 0, 0),
 datetime.datetime(2013, 8, 21, 0, 0),
 datetime.datetime(2013, 8, 22, 0, 0),
 datetime.datetime(2013, 8, 23, 0, 0),
 datetime.datetime(2013, 8, 26, 0, 0),
 datetime.datetime(2013, 8, 27, 0, 0),
 datetime.datetime(2013, 8, 28, 0, 0),
 datetime.datetime(2013, 8, 29, 0, 0),
 datetime.datetime(2013, 8, 30, 0, 0),
 datetime.datetime(2013, 9, 2, 0, 0),
 datetime.datetime(2013, 9, 3, 0, 0),
 datetime.datetime(2013, 9, 4, 0, 0),
 datetime.datetime(2013, 9, 5, 0, 0),
 datetime.datetime(2013, 9, 6, 0, 0),
 datetime.datetime(2013, 9, 9, 0, 0),
 datetime.datetime(2013, 9, 10, 0, 0),
 datetime.datetime(2013, 9, 11, 0, 0),
 datetime.datetime(2013, 9, 12, 0, 0),
 datetime.datetime(2013, 9, 13, 0, 0),
 datetime.datetime(2013, 9, 16, 0, 0),
 datetime.datetime(2013, 9, 17, 0, 0),
 datetime.datetime(2013, 9, 18, 0, 0),
 datetime.datetime(2013, 9, 23, 0, 0),
 datetime.datetime(2013, 9, 24, 0, 0),
 datetime.datetime(2013, 9, 25, 0, 0),
 datetime.datetime(2013, 9, 26, 0, 0),
 datetime.datetime(2013, 9, 27, 0, 0),
 datetime.datetime(2013, 9, 30, 0, 0),
 datetime.datetime(2013, 10, 8, 0, 0),
 datetime.datetime(2013, 10, 9, 0, 0),
 datetime.datetime(2013, 10, 10, 0, 0),
 datetime.datetime(2013, 10, 11, 0, 0),
 datetime.datetime(2013, 10, 14, 0, 0),
 datetime.datetime(2013, 10, 15, 0, 0),
 datetime.datetime(2013, 10, 16, 0, 0),
 datetime.datetime(2013, 10, 17, 0, 0),
 datetime.datetime(2013, 10, 18, 0, 0),
 datetime.datetime(2013, 10, 21, 0, 0),
 datetime.datetime(2013, 10, 29, 0, 0),
 datetime.datetime(2013, 10, 30, 0, 0),
 datetime.datetime(2013, 10, 31, 0, 0),
 datetime.datetime(2013, 11, 1, 0, 0),
 datetime.datetime(2013, 11, 4, 0, 0),
 datetime.datetime(2013, 11, 5, 0, 0),
 datetime.datetime(2013, 11, 6, 0, 0),
 datetime.datetime(2013, 11, 7, 0, 0),
 datetime.datetime(2013, 11, 8, 0, 0),
 datetime.datetime(2013, 11, 11, 0, 0),
 datetime.datetime(2013, 11, 28, 0, 0),
 datetime.datetime(2013, 12, 5, 0, 0),
 datetime.datetime(2013, 12, 6, 0, 0),
 datetime.datetime(2013, 12, 9, 0, 0),
 datetime.datetime(2013, 12, 10, 0, 0),
 datetime.datetime(2013, 12, 11, 0, 0),
 datetime.datetime(2013, 12, 12, 0, 0),
 datetime.datetime(2013, 12, 13, 0, 0),
 datetime.datetime(2013, 12, 16, 0, 0),
 datetime.datetime(2013, 12, 17, 0, 0),
 datetime.datetime(2013, 12, 18, 0, 0),
 datetime.datetime(2013, 12, 19, 0, 0),
 datetime.datetime(2013, 12, 20, 0, 0),
 datetime.datetime(2013, 12, 23, 0, 0),
 datetime.datetime(2013, 12, 24, 0, 0),
 datetime.datetime(2013, 12, 25, 0, 0),
 datetime.datetime(2013, 12, 26, 0, 0),
 datetime.datetime(2013, 12, 27, 0, 0),
 datetime.datetime(2013, 12, 30, 0, 0),
 datetime.datetime(2013, 12, 31, 0, 0),
 datetime.datetime(2014, 1, 2, 0, 0),
 datetime.datetime(2014, 1, 3, 0, 0),
 datetime.datetime(2014, 1, 6, 0, 0),
 datetime.datetime(2014, 1, 7, 0, 0),
 datetime.datetime(2014, 1, 8, 0, 0),
 datetime.datetime(2014, 1, 9, 0, 0),
 datetime.datetime(2014, 1, 10, 0, 0),
 datetime.datetime(2014, 1, 13, 0, 0),
 datetime.datetime(2014, 1, 14, 0, 0),
 datetime.datetime(2014, 1, 15, 0, 0),
 datetime.datetime(2014, 1, 16, 0, 0),
 datetime.datetime(2014, 1, 17, 0, 0),
 datetime.datetime(2014, 1, 20, 0, 0),
 datetime.datetime(2014, 1, 21, 0, 0),
 datetime.datetime(2014, 1, 22, 0, 0),
 datetime.datetime(2014, 1, 23, 0, 0),
 datetime.datetime(2014, 4, 2, 0, 0),
 datetime.datetime(2014, 5, 5, 0, 0),
 datetime.datetime(2014, 5, 6, 0, 0),
 datetime.datetime(2014, 5, 7, 0, 0),
 datetime.datetime(2014, 5, 8, 0, 0),
 datetime.datetime(2014, 5, 9, 0, 0),
 datetime.datetime(2014, 5, 12, 0, 0),
 datetime.datetime(2014, 5, 13, 0, 0),
 datetime.datetime(2014, 5, 14, 0, 0),
 datetime.datetime(2014, 5, 15, 0, 0),
 datetime.datetime(2014, 5, 16, 0, 0),
 datetime.datetime(2014, 5, 19, 0, 0),
 datetime.datetime(2014, 5, 20, 0, 0),
 datetime.datetime(2014, 5, 21, 0, 0),
 datetime.datetime(2014, 5, 22, 0, 0),
 datetime.datetime(2014, 5, 23, 0, 0),
 datetime.datetime(2014, 5, 26, 0, 0),
 datetime.datetime(2014, 5, 27, 0, 0),
 datetime.datetime(2014, 5, 28, 0, 0),
 datetime.datetime(2014, 5, 29, 0, 0),
 datetime.datetime(2014, 5, 30, 0, 0),
 datetime.datetime(2014, 6, 3, 0, 0),
 datetime.datetime(2014, 6, 4, 0, 0),
 datetime.datetime(2014, 6, 5, 0, 0),
 datetime.datetime(2014, 6, 6, 0, 0),
 datetime.datetime(2014, 6, 9, 0, 0),
 datetime.datetime(2014, 6, 10, 0, 0),
 datetime.datetime(2014, 6, 11, 0, 0),
 datetime.datetime(2014, 6, 12, 0, 0),
 datetime.datetime(2014, 6, 13, 0, 0),
 datetime.datetime(2014, 6, 16, 0, 0),
 datetime.datetime(2014, 6, 17, 0, 0),
 datetime.datetime(2014, 6, 18, 0, 0),
 datetime.datetime(2014, 6, 19, 0, 0),
 datetime.datetime(2014, 6, 20, 0, 0),
 datetime.datetime(2014, 6, 23, 0, 0),
 datetime.datetime(2014, 8, 26, 0, 0),
 datetime.datetime(2014, 8, 27, 0, 0),
 datetime.datetime(2014, 8, 28, 0, 0),
 datetime.datetime(2014, 8, 29, 0, 0),
 datetime.datetime(2014, 9, 1, 0, 0),
 datetime.datetime(2014, 9, 2, 0, 0),
 datetime.datetime(2014, 9, 3, 0, 0),
 datetime.datetime(2014, 9, 4, 0, 0),
 datetime.datetime(2014, 9, 18, 0, 0),
 datetime.datetime(2014, 9, 19, 0, 0),
 datetime.datetime(2014, 9, 22, 0, 0),
 datetime.datetime(2014, 9, 23, 0, 0),
 datetime.datetime(2014, 9, 24, 0, 0),
 datetime.datetime(2014, 9, 25, 0, 0),
 datetime.datetime(2014, 9, 26, 0, 0),
 datetime.datetime(2014, 9, 29, 0, 0),
 datetime.datetime(2014, 10, 14, 0, 0),
 datetime.datetime(2014, 10, 15, 0, 0),
 datetime.datetime(2014, 10, 16, 0, 0),
 datetime.datetime(2014, 10, 17, 0, 0),
 datetime.datetime(2014, 10, 20, 0, 0),
 datetime.datetime(2014, 10, 21, 0, 0),
 datetime.datetime(2014, 10, 22, 0, 0),
 datetime.datetime(2014, 10, 23, 0, 0),
 datetime.datetime(2014, 10, 24, 0, 0),
 datetime.datetime(2014, 10, 27, 0, 0),
 datetime.datetime(2014, 10, 28, 0, 0),
 datetime.datetime(2014, 10, 29, 0, 0),
 datetime.datetime(2014, 10, 30, 0, 0),
 datetime.datetime(2014, 10, 31, 0, 0),
 datetime.datetime(2014, 11, 3, 0, 0),
 datetime.datetime(2014, 11, 4, 0, 0),
 datetime.datetime(2014, 11, 5, 0, 0),
 datetime.datetime(2014, 11, 6, 0, 0),
 datetime.datetime(2014, 11, 7, 0, 0),
 datetime.datetime(2014, 11, 10, 0, 0),
 datetime.datetime(2014, 11, 11, 0, 0),
 datetime.datetime(2014, 11, 12, 0, 0),
 datetime.datetime(2014, 11, 13, 0, 0),
 datetime.datetime(2014, 11, 14, 0, 0),
 datetime.datetime(2014, 11, 17, 0, 0),
 datetime.datetime(2014, 11, 25, 0, 0),
 datetime.datetime(2014, 11, 26, 0, 0),
 datetime.datetime(2014, 11, 27, 0, 0),
 datetime.datetime(2014, 11, 28, 0, 0),
 datetime.datetime(2015, 1, 21, 0, 0),
 datetime.datetime(2015, 1, 22, 0, 0),
 datetime.datetime(2015, 1, 23, 0, 0),
 datetime.datetime(2015, 1, 26, 0, 0),
 datetime.datetime(2015, 1, 27, 0, 0),
 datetime.datetime(2015, 1, 28, 0, 0),
 datetime.datetime(2015, 1, 29, 0, 0),
 datetime.datetime(2015, 1, 30, 0, 0),
 datetime.datetime(2015, 2, 2, 0, 0),
 datetime.datetime(2015, 2, 3, 0, 0),
 datetime.datetime(2015, 2, 4, 0, 0),
 datetime.datetime(2015, 2, 5, 0, 0),
 datetime.datetime(2015, 2, 6, 0, 0),
 datetime.datetime(2015, 2, 9, 0, 0),
 datetime.datetime(2015, 2, 10, 0, 0),
 datetime.datetime(2015, 2, 11, 0, 0),
 datetime.datetime(2015, 2, 12, 0, 0),
 datetime.datetime(2015, 2, 13, 0, 0),
 datetime.datetime(2015, 6, 19, 0, 0),
 datetime.datetime(2015, 6, 23, 0, 0),
 datetime.datetime(2015, 6, 24, 0, 0),
 datetime.datetime(2015, 6, 25, 0, 0),
 datetime.datetime(2015, 6, 26, 0, 0),
 datetime.datetime(2015, 6, 29, 0, 0),
 datetime.datetime(2015, 6, 30, 0, 0),
 datetime.datetime(2015, 7, 1, 0, 0),
 datetime.datetime(2015, 7, 2, 0, 0),
 datetime.datetime(2015, 7, 3, 0, 0),
 datetime.datetime(2015, 7, 6, 0, 0),
 datetime.datetime(2015, 7, 7, 0, 0),
 datetime.datetime(2015, 7, 8, 0, 0),
 datetime.datetime(2015, 7, 9, 0, 0),
 datetime.datetime(2015, 7, 10, 0, 0),
 datetime.datetime(2015, 7, 13, 0, 0),
 datetime.datetime(2015, 7, 14, 0, 0),
 datetime.datetime(2015, 7, 15, 0, 0),
 datetime.datetime(2015, 7, 21, 0, 0),
 datetime.datetime(2015, 7, 22, 0, 0),
 datetime.datetime(2015, 7, 23, 0, 0),
 datetime.datetime(2015, 7, 24, 0, 0),
 datetime.datetime(2015, 7, 27, 0, 0),
 datetime.datetime(2015, 7, 28, 0, 0),
 datetime.datetime(2015, 7, 29, 0, 0),
 datetime.datetime(2015, 7, 30, 0, 0),
 datetime.datetime(2015, 7, 31, 0, 0),
 datetime.datetime(2015, 8, 3, 0, 0),
 datetime.datetime(2015, 8, 4, 0, 0),
 datetime.datetime(2015, 8, 5, 0, 0),
 datetime.datetime(2015, 8, 6, 0, 0),
 datetime.datetime(2015, 8, 7, 0, 0),
 datetime.datetime(2015, 8, 10, 0, 0),
 datetime.datetime(2015, 8, 11, 0, 0),
 datetime.datetime(2015, 8, 12, 0, 0),
 datetime.datetime(2015, 8, 13, 0, 0),
 datetime.datetime(2015, 8, 14, 0, 0),
 datetime.datetime(2015, 8, 17, 0, 0),
 datetime.datetime(2015, 8, 18, 0, 0),
 datetime.datetime(2015, 8, 19, 0, 0),
 datetime.datetime(2015, 8, 20, 0, 0),
 datetime.datetime(2015, 8, 21, 0, 0),
 datetime.datetime(2015, 8, 24, 0, 0),
 datetime.datetime(2015, 8, 25, 0, 0),
 datetime.datetime(2015, 8, 26, 0, 0),
 datetime.datetime(2015, 8, 27, 0, 0),
 datetime.datetime(2015, 8, 28, 0, 0),
 datetime.datetime(2015, 8, 31, 0, 0),
 datetime.datetime(2015, 9, 1, 0, 0),
 datetime.datetime(2015, 9, 2, 0, 0),
 datetime.datetime(2015, 9, 7, 0, 0),
 datetime.datetime(2015, 9, 8, 0, 0),
 datetime.datetime(2015, 9, 9, 0, 0),
 datetime.datetime(2015, 9, 10, 0, 0),
 datetime.datetime(2015, 9, 11, 0, 0),
 datetime.datetime(2015, 9, 14, 0, 0),
 datetime.datetime(2015, 9, 15, 0, 0),
 datetime.datetime(2015, 9, 16, 0, 0),
 datetime.datetime(2015, 9, 17, 0, 0),
 datetime.datetime(2015, 11, 30, 0, 0),
 datetime.datetime(2015, 12, 1, 0, 0),
 datetime.datetime(2015, 12, 2, 0, 0),
 datetime.datetime(2015, 12, 3, 0, 0),
 datetime.datetime(2015, 12, 4, 0, 0),
 datetime.datetime(2015, 12, 14, 0, 0),
 datetime.datetime(2015, 12, 15, 0, 0),
 datetime.datetime(2015, 12, 16, 0, 0),
 datetime.datetime(2015, 12, 17, 0, 0),
 datetime.datetime(2015, 12, 18, 0, 0),
 datetime.datetime(2016, 1, 7, 0, 0),
 datetime.datetime(2016, 1, 8, 0, 0),
 datetime.datetime(2016, 1, 11, 0, 0),
 datetime.datetime(2016, 1, 12, 0, 0),
 datetime.datetime(2016, 1, 13, 0, 0),
 datetime.datetime(2016, 1, 14, 0, 0),
 datetime.datetime(2016, 1, 15, 0, 0),
 datetime.datetime(2016, 1, 18, 0, 0),
 datetime.datetime(2016, 1, 19, 0, 0),
 datetime.datetime(2016, 1, 20, 0, 0),
 datetime.datetime(2016, 1, 21, 0, 0),
 datetime.datetime(2016, 1, 22, 0, 0),
 datetime.datetime(2016, 1, 25, 0, 0),
 datetime.datetime(2016, 1, 26, 0, 0),
 datetime.datetime(2016, 1, 27, 0, 0),
 datetime.datetime(2016, 1, 28, 0, 0),
 datetime.datetime(2016, 1, 29, 0, 0),
 datetime.datetime(2016, 2, 1, 0, 0),
 datetime.datetime(2016, 2, 2, 0, 0),
 datetime.datetime(2016, 2, 3, 0, 0),
 datetime.datetime(2016, 2, 4, 0, 0),
 datetime.datetime(2016, 2, 5, 0, 0),
 datetime.datetime(2016, 2, 15, 0, 0),
 datetime.datetime(2016, 2, 16, 0, 0),
 datetime.datetime(2016, 2, 17, 0, 0),
 datetime.datetime(2016, 2, 18, 0, 0),
 datetime.datetime(2016, 2, 19, 0, 0),
 datetime.datetime(2016, 8, 10, 0, 0),
 datetime.datetime(2016, 8, 22, 0, 0),
 datetime.datetime(2016, 8, 23, 0, 0),
 datetime.datetime(2016, 8, 24, 0, 0),
 datetime.datetime(2016, 8, 25, 0, 0),
 datetime.datetime(2016, 8, 26, 0, 0),
 datetime.datetime(2016, 8, 29, 0, 0),
 datetime.datetime(2016, 8, 30, 0, 0),
 datetime.datetime(2016, 8, 31, 0, 0),
 datetime.datetime(2016, 9, 1, 0, 0),
 datetime.datetime(2016, 9, 2, 0, 0),
 datetime.datetime(2016, 9, 5, 0, 0),
 datetime.datetime(2016, 9, 6, 0, 0),
 datetime.datetime(2016, 9, 7, 0, 0),
 datetime.datetime(2016, 9, 8, 0, 0),
 datetime.datetime(2016, 9, 9, 0, 0),
 datetime.datetime(2016, 9, 12, 0, 0),
 datetime.datetime(2016, 9, 13, 0, 0),
 datetime.datetime(2016, 9, 14, 0, 0),
 datetime.datetime(2016, 9, 19, 0, 0),
 datetime.datetime(2016, 9, 20, 0, 0),
 datetime.datetime(2016, 9, 21, 0, 0),
 datetime.datetime(2016, 9, 22, 0, 0),
 datetime.datetime(2016, 9, 23, 0, 0),
 datetime.datetime(2016, 9, 26, 0, 0),
 datetime.datetime(2016, 9, 27, 0, 0),
 datetime.datetime(2016, 9, 28, 0, 0),
 datetime.datetime(2016, 9, 29, 0, 0),
 datetime.datetime(2016, 9, 30, 0, 0),
 datetime.datetime(2016, 10, 10, 0, 0),
 datetime.datetime(2016, 10, 11, 0, 0),
 datetime.datetime(2016, 10, 12, 0, 0),
 datetime.datetime(2016, 10, 13, 0, 0),
 datetime.datetime(2016, 11, 22, 0, 0),
 datetime.datetime(2016, 11, 23, 0, 0),
 datetime.datetime(2016, 11, 24, 0, 0),
 datetime.datetime(2016, 11, 25, 0, 0),
 datetime.datetime(2017, 7, 10, 0, 0),
 datetime.datetime(2017, 7, 11, 0, 0),
 datetime.datetime(2017, 7, 12, 0, 0),
 datetime.datetime(2017, 7, 13, 0, 0),
 datetime.datetime(2017, 7, 14, 0, 0),
 datetime.datetime(2017, 7, 17, 0, 0),
 datetime.datetime(2017, 7, 18, 0, 0),
 datetime.datetime(2017, 7, 19, 0, 0),
 datetime.datetime(2017, 7, 20, 0, 0),
 datetime.datetime(2017, 7, 21, 0, 0),
 datetime.datetime(2017, 7, 24, 0, 0),
 datetime.datetime(2017, 9, 12, 0, 0),
 datetime.datetime(2017, 9, 13, 0, 0),
 datetime.datetime(2017, 9, 14, 0, 0),
 datetime.datetime(2017, 9, 15, 0, 0),
 datetime.datetime(2017, 9, 18, 0, 0),
 datetime.datetime(2017, 12, 1, 0, 0),
 datetime.datetime(2017, 12, 4, 0, 0),
 datetime.datetime(2017, 12, 5, 0, 0),
 datetime.datetime(2017, 12, 6, 0, 0),
 datetime.datetime(2017, 12, 7, 0, 0),
 datetime.datetime(2017, 12, 8, 0, 0),
 datetime.datetime(2017, 12, 11, 0, 0),
 datetime.datetime(2017, 12, 12, 0, 0),
 datetime.datetime(2017, 12, 13, 0, 0),
 datetime.datetime(2017, 12, 14, 0, 0),
 datetime.datetime(2018, 2, 6, 0, 0),
 datetime.datetime(2018, 2, 7, 0, 0),
 datetime.datetime(2018, 2, 8, 0, 0),
 datetime.datetime(2018, 2, 9, 0, 0),
 datetime.datetime(2018, 2, 12, 0, 0),
 datetime.datetime(2018, 2, 13, 0, 0),
 datetime.datetime(2018, 2, 14, 0, 0),
 datetime.datetime(2018, 2, 22, 0, 0),
 datetime.datetime(2018, 2, 23, 0, 0),
 datetime.datetime(2018, 2, 26, 0, 0),
 datetime.datetime(2018, 2, 27, 0, 0),
 datetime.datetime(2018, 2, 28, 0, 0),
 datetime.datetime(2018, 3, 1, 0, 0),
 datetime.datetime(2018, 3, 2, 0, 0),
 datetime.datetime(2018, 3, 5, 0, 0),
 datetime.datetime(2018, 3, 6, 0, 0),
 datetime.datetime(2018, 3, 7, 0, 0),
 datetime.datetime(2018, 3, 8, 0, 0),
 datetime.datetime(2018, 3, 9, 0, 0),
 datetime.datetime(2018, 3, 12, 0, 0),
 datetime.datetime(2018, 3, 13, 0, 0),
 datetime.datetime(2018, 3, 14, 0, 0),
 datetime.datetime(2018, 3, 15, 0, 0),
 datetime.datetime(2018, 3, 16, 0, 0),
 datetime.datetime(2018, 3, 29, 0, 0),
 datetime.datetime(2018, 3, 30, 0, 0),
 datetime.datetime(2018, 4, 2, 0, 0),
 datetime.datetime(2018, 4, 3, 0, 0),
 datetime.datetime(2018, 4, 4, 0, 0),
 datetime.datetime(2018, 4, 9, 0, 0),
 datetime.datetime(2018, 4, 10, 0, 0),
 datetime.datetime(2018, 4, 11, 0, 0),
 datetime.datetime(2018, 4, 12, 0, 0),
 datetime.datetime(2018, 4, 13, 0, 0),
 datetime.datetime(2018, 4, 16, 0, 0),
 datetime.datetime(2018, 4, 17, 0, 0),
 datetime.datetime(2018, 4, 18, 0, 0),
 datetime.datetime(2018, 4, 19, 0, 0),
 datetime.datetime(2018, 4, 20, 0, 0),
 datetime.datetime(2018, 4, 23, 0, 0),
 datetime.datetime(2018, 4, 24, 0, 0),
 datetime.datetime(2018, 4, 25, 0, 0),
 datetime.datetime(2018, 4, 26, 0, 0),
 datetime.datetime(2018, 4, 27, 0, 0),
 datetime.datetime(2018, 5, 2, 0, 0),
 datetime.datetime(2018, 5, 3, 0, 0),
 datetime.datetime(2018, 5, 4, 0, 0),
 datetime.datetime(2018, 5, 7, 0, 0),
 datetime.datetime(2018, 5, 8, 0, 0),
 datetime.datetime(2018, 5, 9, 0, 0),
 datetime.datetime(2018, 7, 2, 0, 0),
 datetime.datetime(2018, 7, 3, 0, 0),
 datetime.datetime(2018, 7, 4, 0, 0),
 datetime.datetime(2018, 7, 5, 0, 0),
 datetime.datetime(2018, 7, 6, 0, 0),
 datetime.datetime(2018, 7, 9, 0, 0),
 datetime.datetime(2018, 7, 10, 0, 0),
 datetime.datetime(2018, 7, 11, 0, 0),
 datetime.datetime(2018, 7, 12, 0, 0),
 datetime.datetime(2018, 7, 13, 0, 0),
 datetime.datetime(2018, 7, 16, 0, 0),
 datetime.datetime(2018, 7, 17, 0, 0),
 datetime.datetime(2018, 7, 18, 0, 0),
 datetime.datetime(2018, 7, 25, 0, 0),
 datetime.datetime(2018, 8, 3, 0, 0),
 datetime.datetime(2018, 8, 6, 0, 0),
 datetime.datetime(2018, 8, 7, 0, 0),
 datetime.datetime(2018, 8, 8, 0, 0),
 datetime.datetime(2018, 8, 9, 0, 0),
 datetime.datetime(2018, 8, 10, 0, 0),
 datetime.datetime(2018, 8, 13, 0, 0),
 datetime.datetime(2018, 8, 14, 0, 0),
 datetime.datetime(2018, 8, 15, 0, 0),
 datetime.datetime(2018, 8, 16, 0, 0),
 datetime.datetime(2018, 8, 17, 0, 0),
 datetime.datetime(2018, 8, 20, 0, 0),
 datetime.datetime(2018, 8, 21, 0, 0),
 datetime.datetime(2018, 8, 22, 0, 0),
 datetime.datetime(2018, 8, 23, 0, 0),
 datetime.datetime(2018, 8, 24, 0, 0),
 datetime.datetime(2018, 8, 27, 0, 0),
 datetime.datetime(2018, 8, 28, 0, 0),
 datetime.datetime(2018, 8, 29, 0, 0),
 datetime.datetime(2018, 8, 30, 0, 0),
 datetime.datetime(2018, 8, 31, 0, 0),
 datetime.datetime(2018, 9, 3, 0, 0),
 datetime.datetime(2018, 9, 4, 0, 0),
 datetime.datetime(2018, 9, 5, 0, 0),
 datetime.datetime(2018, 9, 6, 0, 0),
 datetime.datetime(2018, 9, 7, 0, 0),
 datetime.datetime(2018, 9, 10, 0, 0),
 datetime.datetime(2018, 9, 11, 0, 0),
 datetime.datetime(2018, 9, 12, 0, 0),
 datetime.datetime(2018, 9, 13, 0, 0),
 datetime.datetime(2018, 9, 14, 0, 0),
 datetime.datetime(2018, 9, 17, 0, 0),
 datetime.datetime(2018, 9, 18, 0, 0),
 datetime.datetime(2018, 9, 19, 0, 0),
 datetime.datetime(2018, 9, 20, 0, 0),
 datetime.datetime(2018, 10, 16, 0, 0),
 datetime.datetime(2018, 10, 17, 0, 0),
 datetime.datetime(2018, 10, 18, 0, 0),
 datetime.datetime(2018, 10, 19, 0, 0),
 datetime.datetime(2018, 10, 22, 0, 0),
 datetime.datetime(2018, 10, 23, 0, 0),
 datetime.datetime(2018, 10, 24, 0, 0),
 datetime.datetime(2018, 10, 25, 0, 0),
 datetime.datetime(2018, 10, 26, 0, 0),
 datetime.datetime(2018, 10, 29, 0, 0),
 datetime.datetime(2018, 10, 30, 0, 0),
 datetime.datetime(2018, 10, 31, 0, 0),
 datetime.datetime(2018, 11, 1, 0, 0),
 datetime.datetime(2018, 11, 2, 0, 0),
 datetime.datetime(2018, 11, 5, 0, 0),
 datetime.datetime(2018, 11, 6, 0, 0),
 datetime.datetime(2018, 11, 7, 0, 0),
 datetime.datetime(2018, 11, 8, 0, 0),
 datetime.datetime(2018, 11, 9, 0, 0),
 datetime.datetime(2018, 11, 12, 0, 0),
 datetime.datetime(2018, 11, 13, 0, 0),
 datetime.datetime(2018, 11, 14, 0, 0),
 datetime.datetime(2018, 11, 15, 0, 0),
 datetime.datetime(2018, 11, 16, 0, 0),
 datetime.datetime(2018, 11, 19, 0, 0),
 datetime.datetime(2018, 11, 20, 0, 0),
 datetime.datetime(2018, 11, 21, 0, 0),
 datetime.datetime(2018, 11, 22, 0, 0),
 datetime.datetime(2018, 11, 23, 0, 0),
 datetime.datetime(2018, 11, 26, 0, 0),
 datetime.datetime(2018, 11, 27, 0, 0),
 datetime.datetime(2018, 11, 28, 0, 0),
 datetime.datetime(2018, 11, 29, 0, 0),
 datetime.datetime(2018, 11, 30, 0, 0),
 datetime.datetime(2018, 12, 3, 0, 0),
 datetime.datetime(2018, 12, 26, 0, 0),
 datetime.datetime(2018, 12, 27, 0, 0),
 datetime.datetime(2018, 12, 28, 0, 0),
 datetime.datetime(2019, 1, 2, 0, 0)]

5 如果从2010年1月1日开始,初试资金为100000元,金叉尽量买入,死叉全部卖出,则到今天为止,炒股收益如何?

first_money = 100000
money = first_money
hold = 0 #持有多少股
sr1 = pd.Series(1, index=golden_cross)
sr2 = pd.Series(1, index=death_cross)
sr = sr1.append(sr2).sort_index()
 
 
for i in range(0, len(sr)):
    p = df['open'][sr.index[i]]
    if sr.iloc[i] == 1:
        #金叉
        buy = (money // (100 * p))
        hold += buy*100
        money -= buy*100*p
    else:
        money += hold * p
        hold = 0
         
p = df['open'][-1]
now_money = hold * p + money
 
print(now_money - first_money)
722502.9
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mind_programmonkey

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值