使用京东量化平台做中小市值策略选股

差不多是去年中旬,京东上线了一个股票量化平台,当然现在有很多这样的平台了(joinquant,uqer 等等),京东比他们多的一个优势就是,多提供了京东平台的大数据,这些销售数据可以间接反映出部分企业的市场数据。

最近,一行三会联手金融反腐,试图把投资者逼回价值投资的轨道,那么什么是价值投资呢,大多数人对企业的财务信息不甚了了,没兴趣也看不懂企业那些财务报表(大多数都是造假的数据),怎么在几千只股票中寻找到有价值的企业呢?

下面这段程序是一个小市值的选股策略,开发语言是python,京东也提供了java的支持,不过我还是较喜欢python的简洁,基本思路是,选取中小板中市现率为正的股票,若rsi 指数出现 向上穿插则买入,若上证50指数和中正指数同时回落,则平仓,交易时间为收盘前10分钟。

文章仅提供一个思路,我已添加注释,若对文章中出现的财务指标,技术指标,函数不清楚的,请自行学习,不要问我,因为我没时间回答你。。。

量化策略交易,不可证伪,客官请自重。

import numpy as np
import pandas as pd
import talib

#初始化函数
def init(context):
    #滑点默认值为2‰
    context.set_slippage(0.002)
    #交易费默认值为0.25‰
    context.set_commission(0.00025)
    context.t=1.01
    #000985.SH  中证全指    中证全指指数  由剔除掉ST、*ST、暂停上市股票,以及上市时间不足3个月等股票后的剩余沪深A股股票构成样本股。
    context.zzind='000985.SH'
    # 000016.SH 上证50    上证50指数          挑选沪市规模大、流动性好的最具代表性的50只股票组成样本股,以综合反映沪市最具市场影响力的一批龙头企业的整体状况。
    context.szind = '000016.SH'
    #399333.SZ  中小板R    中小板指数(收益)   指数样本与中小板100P相同
    context.zxind = '399333.SZ'
    task.daily(handle, time_rule=market_close(minute=10))

#选股函数
def stockSelsel(date):
    # pcf_ratio_ocfttm  市现率(PCF,经营现金流TTM)   每股市价为过去12个月每股经营性现金流的倍数  市现率(PCF,经营现金流TTM)= (在指定交易日期的最新收盘价*当日人民币外汇牌价×截至当日公司总股本)/经营活动产生的现金流量(TTM) =总市值/连续四个季度的经营现金流;连续四季度:当期+(上年年报-上年同期)
    p = query(
            fundamentals.equity_valuation_indicator.pcf_ratio_ocfttm
                ).filter(
            fundamentals.equity_valuation_indicator.pcf_ratio_ocfttm > 0
        ).order_by(
            fundamentals.equity_valuation_indicator.market_cap_2.asc()
        ).limit(20)
    # get_fundamentals  财务数据选股 返回DataFrame对象
    # dropna 返回一个仅含非空数据和索引值的 Series
    df = get_fundamentals(p , date); df=df.dropna(axis=1)
    return df.columns.values

def rsi(s,date):
    #返回30天的股票价格散列数据
    d = get_history(30, '1d', 'close')[s]
    d = d.values;
    #计算RSi值
    rsi6 = talib.RSI(d, timeperiod=6);rsi12=talib.RSI(d, timeperiod=12);rsi24=talib.RSI(d, timeperiod=24)
    return [rsi6[-1],rsi12[-1],rsi24[-1]]

def handle(context, data_dict):
    date = context.now
    #get_index_constituents 获取指数成份股
    sl = get_index_constituents(context.zzind)
    
    #取指标成分股过去20天的收盘价格
    ds1 = get_history(20,'1d','close')[context.zzind].values
    ds2 = get_history(20,'1d','close')[context.zxind].values
   
    #data_dict 存储了所选股票TradeData对象的属性    股票实时行情数据信息都存储在该参数中
    ps1 = data_dict[context.zzind].last/ds1[0]
    ps2 = data_dict[context.zxind].last/ds2[0]
    
    if ps1 < context.t and ps2 < context.t :
        for i in context.portfolio.positions.keys():
            # 调整持仓到期望的市值,0 即为清仓
            order_target_value(i,0)
    else:
        l = stockSelsel(date)
        x=[];xl=[]
        for i in l:
            if i in sl:
                r=rsi(i,date)
                try:
                    if not(r[0]<r[1]<r[2]):
                        xl.append(i)
                except:continue
        s=xl
        #portfolio_value 当前持仓投资组合的总共价值,包含剩余现金与市场价值
        mv = context.portfolio.portfolio_value
        ss=[]
        for i in s:
            if i not in context.portfolio.positions.keys():
                ss.append(i)
        for i in ss:
            order_target_value(i,mv/len(ss))
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,651评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,468评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,931评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,218评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,234评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,198评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,084评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,926评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,341评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,563评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,731评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,430评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,036评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,676评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,829评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,743评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,629评论 2 354

推荐阅读更多精彩内容