楼主: 量化小白
11059 6

[程序化交易] 【策略源码分享】STOCH(KD指标) [推广有奖]

  • 0关注
  • 5粉丝

大专生

50%

还不是VIP/贵宾

-

威望
0
论坛币
35 个
通用积分
0
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
829 点
帖子
42
精华
0
在线时间
28 小时
注册时间
2015-8-17
最后登录
2023-2-6

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
量化策略实现平台JoinQuant(https://www.joinquant.com/

欢迎大神拍砖。

Stochastic Oscillator Slow (Stoch)更直接的理解就是我们常用的KDJ指标中的KD指标。是由两条线一条是快速确认线,另外一条是慢速主干线组成。可以参考链接Talib推荐STOCH参考
计算方法:
随机线有四种,分别是: FASTK, FASTD, SLOWK and SLOWD,D是由K经过变化得到。具体计算如下图。

使用方法:
K线是快速确认线——数值在90以上为超买,数值在10以下为超卖;
D线是慢速主干线——数值在90以上为超买,数值在10以下为超卖;

bias.jpg

#此例子采用Talib提供的STOCH(Stochastic Oscillator Slow),更直接的理解他就是我们常用的KDJ指标中的KD指标。
#     是由两条线一条是快速确认线,另外一条是慢速主干线组成。
#K线是快速确认线——数值在90以上为超买,数值在10以下为超卖;
#     D线是慢速主干线——数值在90以上为超买,数值在10以下为超卖;
import talib
#import numpy as np
#     import pandas as pd

def initialize(context):
    # 定义一个全局变量, 保存要操作的证券
    context.stocks = [&#     39;601328.XSHG',&#     39;600036.XSHG',&#     39;600196.XSHG',&#     39;600010.XSHG']
    #      设置我们要操作的股票池
    set_universe(context.stocks)
# 初始化此策略
def handle_data(context, data):
    #      取得当前的现金
    cash = context.portfolio.cash
    # 循环股票列表
    for stock in context.stocks:
        #      获取股票的数据
        h = attribute_history(stock, 30, '1d&#     39;, ('high&#     39;,'low&#     39;,'close&#     39;))
        # 创建STOCH买卖信号,包括最高价,最低价,收盘价和快速线(一般取为9),慢速线
        #      注意:STOCH函数使用的price必须是narray
        slowk, slowd = talib.STOCH(h['high&#     39;].values,
                                   h['low&#     39;].values,
                                   h['close&#     39;].values,
                                   fastk_period=9,
                                   slowk_period=3,
                                   slowk_matype=0,
                                   slowd_period=3,
                                   slowd_matype=0)
        # 获得最近的kd值
        slowk = slowk[-1]
        slowd = slowd[-1]
        #      获取当前股票的数据
        current_position = context.portfolio.positions[stock].amount
        # 获取当前股票价格
        current_price = data[stock].price
        #      当slowk > 90 or slowd > 90,且拥有的股票数量>=0时,卖出所有股票
        if slowk > 90 or slowd > 90 and current_position >= 0:
            order_target(stock, 0)
        # 当slowk < 10 or slowd < 10, 且拥有的股票数量<=0时,则全仓买入
        elif slowk < 10 or slowd < 10 and current_position <= 0:
            number_of_shares = int(cash/current_price)
            #      购买量大于0时,下单
            if number_of_shares > 0:
                # 买入股票
                order(stock, +number_of_shares)
                #      记录这次买入
                log.info("Buying %s&#    34; % (stock))
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:stoc sto och TOC Stochastic 计算方法

已有 1 人评分经验 论坛币 收起 理由
fantuanxiaot + 33 + 33 精彩帖子

总评分: 经验 + 33  论坛币 + 33   查看全部评分

沙发
民间高手 发表于 2015-12-2 18:54:14 |只看作者 |坛友微信交流群
还不错噢,可以考虑下KD的其他用法或者和均线结合

使用道具

藤椅
13dachen 发表于 2015-12-2 19:01:27 来自手机 |只看作者 |坛友微信交流群
不错呦!

使用道具

板凳
量化菜鸟 发表于 2015-12-3 20:23:07 |只看作者 |坛友微信交流群
顶一顶顶一顶

使用道具

报纸
zm4015 在职认证  发表于 2015-12-7 21:31:34 |只看作者 |坛友微信交流群
感谢分享

使用道具

地板
sukiyou2000 发表于 2015-12-9 11:46:51 |只看作者 |坛友微信交流群
支持分享!

使用道具

7
zm4015 在职认证  发表于 2015-12-13 10:59:04 |只看作者 |坛友微信交流群
楼主上过实盘吗,收益咋样

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jr
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-9-21 09:09