excel量化交易模板_适用于新手的量化交易模板

本文介绍了一个适合新手的Excel量化交易模板,包括选股、进场、出场、持仓平衡、现金管理和风险管理等策略。示例代码展示了一种基于分钟回测的交易策略,如选择市值最小的100只股票、5日均线上穿10日均线作为入场信号,以及低于20日线99%作为出场条件。模板还包括了持仓平衡和现金管理的逻辑,但省略了部分细节,如现金管理中的银华日利购买和风险管理模块。代码结构清晰,可供初学者实践和进一步改进。
摘要由CSDN通过智能技术生成

原理:

查阅了一些资料,看了大家的策略,又总结和归纳了一些,大概分为,选股、进场时机、持仓平衡、现金管理、出场时机、风险管理,一些工具组件。下面直接上demo代码简单写。

模板代码:

说明:分钟回测,组合初始100万现金,交易手续默认的,无卖空,benchmark为默认,进场策略输出了股票列表,出场策略也是返回要卖出的股票列表……

1.传奇的小市值策略(市值最小的100只股票做为每天的备选列表),这个因子表现的最好,为什么用了这个吸引眼球的选股因子呢,主要是为避免模板的demo曲线表现太差,高手勿笑;

2.以大家熟悉的5日均线上传10日均线进场,并保持20日线为进场条件;

3.出场为低于20日线的99%为强制出场(近两年,20日线基本作为了行业标配了,反正有点用) ;

4.持仓策略:在市值不便的情况下平均持仓,每日临近收盘进行再平衡,理想情况保持每只持仓占比相等

5.现金管理:本来想再收盘前现金买进“银华日利”,但由于默认市价交易滑点太大,就省略了(要限价交易才可能有利润,但是这里也发现尾盘表现非常不好,就注释掉了)

6.风险管理:略了,流传一个大盘跌过3%的强制止损风险策略,小市值也可以增加二八轮动的择时,没有加上,有兴趣可以自己弄着玩,加这个模块里;

7.交易方式:为了避免过大的成家量超过25%的error,这里都下的限价单,但是后续模块化吧,另控制了单只持仓不超过10%~(模块写起来比较复杂,还要新建dict进行撤单再下单等计算,后续成熟了,再拿出来分享)

8.工具:

trans、历史数据强制转化成真正的DataFrame(效率问题,做了.T的来回变换),问licco说,其实2016年5月2X后就不需要了

n日内随机交易的收益率概率(例子中未用到)

多个list里取交集,懒得每次都写了,干脆写了个小函数

标的上市自然日的函数,避免次新股对收益干扰太大,要真像炒次新股,要好好研究一下,个人做过尝试发现,高风险高利润,大盘择时比较关键,干脆这里做了过滤比如一定要上市超过60个自然日

是否涨跌停区间,一定要可交易,人家都封版了,交易量有,关咱策略毛事,所以也进行了过滤

因为分钟回测,所以选择了14:50作为买入时间点,而出场选择每15分钟采样计算一次(性能压力和必要性的问题),14:59(后来发现深圳市场应该14点56,要不57开始深圳会集合竞价了,但是例子里没有调整,所以还是error一大堆,见笑了)

接下来就是代码啦,可读性还是很强的,大家可以运行起来试试。

import pandas as pd

import numpy as np

import time

import math

import itertools

# 数据准备

def init_variables (context):

context.init = 0

context.days = 0

context.barcount = 0

context.choosenum = 300</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值