ls-2018

一个免费额、开源的python财经数据接口包

import tushare as ts

df = ts.get_k_data(\'60138\')

  

Signature:
ts.get_k_data(
    [\'code=None\', "start=\'\'", "end=\'\'", "ktype=\'D\'", "autype=\'qfq\'", \'index=False\', \'retry_count=3\', \'pause=0.001\'],
)
Docstring:
获取k线数据
---------
Parameters:
  code:string
              股票代码 e.g. 600848
  start:string
              开始日期 format:YYYY-MM-DD 为空时取上市首日
  end:string
              结束日期 format:YYYY-MM-DD 为空时取最近一个交易日
  autype:string
              复权类型,qfq-前复权 hfq-后复权 None-不复权,默认为qfq
  ktype:string
              数据类型,D=日k线 W=周 M=月 5=5分钟 15=15分钟 30=30分钟 60=60分钟,默认为D
  retry_count : int, 默认 3
             如遇网络等问题重复执行的次数 
  pause : int, 默认 0
            重复请求数据过程中暂停的秒数,防止请求间隔时间太短出现的问题
return
-------
  DataFrame
      date 交易日期 (index)
      open 开盘价
      high  最高价
      close 收盘价
      low 最低价
      volume 成交量
      amount 成交额
      turnoverratio 换手率
      code 股票代码
File:      d:\python35\lib\site-packages\tushare\stock\trading.py
Type:      function

  

 

import tushare as ts
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt 


df = ts.get_k_data(\'600519\',start=\'1988-01-01\')
df.to_csv(\'600519.csv\')

  

df = pd.read_csv(\'600519.csv\',index_col=\'date\',parse_dates=[\'date\'])[[\'open\',\'close\',\'high\',\'low\']]
df = df[(df[\'close\']-df[\'open\'])/df[\'open\']>=0.03]
# df.shift(-1)# 往上移动一位,nan补

df = df[(df[\'open\']-df[\'close\'].shift(1))/df[\'close\'].shift(1)<=-0.02]  # 布尔型索引
price_last = df[\'open\'][-1]
df = df[\'2001-09\':\'2017-11\']    # 索引为日期类型才允许这么干
df_monthly = df.resample(\'M\').first()
df_yearly = df.resample(\'A\').last()[:-1]

cost_money=0
hold=0
for year in range(2001,2018):
    cost_money += df_monthly[str(year)][\'open\'].sum()*100
    hold+=len(df_monthly[str(year)][\'open\'])*1000
    if year!=2017:
        cost_money -= df_yearly[str(year)][\'open\'][0] * hold
        hold = 0
    print(cost_money)
cost_money  -= hold*price_last
print(-cost_money )

  

 

查找历史金叉死叉日期

均线: 对于每一个交易日,都乐意计算出前N天的移动平均值,然后把这些移动平均值连接起来成一条线,就叫做N日移动平均线。移动平均线常用5、10、30、60天。

  5天和10天的是短线操作的参照指标,称做日均线指标

  30天和60天的是中期均线指标,称做季均线指标

  120和240天的是长期均线指标,称做年均线指标

金叉:短期均线上穿长期均线,买入信号

死叉:短期均线下穿长期均线,卖出信号

  

 

import matplotlib.pyplot as plt
import mpl_finance as fin
from matplotlib.dates import date2num
import pandas as pd

df = pd.read_csv(\'600519.csv\', parse_dates=[\'date\'], index_col=[\'date\'], sep=\'\s+\')[[\'open\', \'close\', \'high\', \'low\']]
df[\'time\'] = date2num(df.index.to_pydatetime())

fig = plt.figure()

ax = fig.add_subplot(1, 1, 1)  # 创建子图实例,传入第一参数

arr = df[[\'time\', \'open\', \'close\', \'high\', \'low\']].values  # 获取序列化值,传入第二参数

fin.candlestick_ochl(ax, arr)  # 把子图和数据传入

plt.show()

  

 

分类:

技术点:

相关文章: