生怕被各位看官说我是标题党,赶紧晒出收益截图,如下:
使用的平台是:Bitmex.com
解释一下:
- 我在 9890.00(开仓价格)做空了 1000 美金等值的比特币;
- 我用了 5 倍的杠杆,也就是相当于我实际上花 200 美金的保证金;
- 如果爆仓,也就是价格涨到强平的价格 12254.5 美金,我就会损失这 200 美金;
- 幸运的是,比特币大跌,而我截图的时候,比特币价格是 8083.02 美金,因此我的收益率差不多是 111.81%
- 因为收益自动加到了保证金里面,所以你看到了 0.0429XBT 里面既有我的收益又有我最开始的保证金,差不多 350 美金。
问题来了,为什么我会在 9890.00 这个点位做空?
一、朴素的 MA 移动平均线策略
这两天随便搜一下「比特币」,满眼都是「暴跌」、「崩塌」、「腰斩」、「猛跌」,但如果你要看到这些新闻再去做空,可能已经晚了。
那看看下面这张图,你第一反应,一定是在开始下跌的时候,就做空一定是最好的。你还会凑巧地发现,那个地方有个蓝色的十字,对应的价格差不多就是 9900 美金上下。
而这个十字信号的产生就要归功于这个朴素的量化投资策略——「MA 均线策略」。
双均线策略是量化策略中经典的策略之一,其属于趋势跟踪策略,基本实现思想如下
- 预设两条均线:比如一个 ma = 5,一个 ma = 60, 短期均线 5 被称作快线,长期均线 60 被称作慢线
- 快线比慢线更活跃,上蹿下跳
- 当短期均线上穿长期均线(ma5 上穿 ma60)称为形成金叉买点信号,执行买入
- 当短期均线下穿长期均线(ma5 下穿 ma60)称为形成死叉卖点信号,执行卖出
上图中的红线和绿线就分别代表短期均线和长期均线,那个卖空点就是因为红线下穿绿线,产生了死叉,执行卖出。
二、打造一个量化投资机器人
大家都知道,虚拟货币交易市场是 24 小时交易,这个点位还算好,是下午 4 点,不过日期是 2 月 1 日,星期四,我可能是在开会或者是在忙工作上的事情,这个做空操作完全是量化投资程序自动执行的,这就是量化投资的另一个优势,自动化程序交易。
为了简化描述这个量化程序,我们写一些伪代码作为示意,重点说说这个朴素的 MA 双均线策略的实现。
# -*- coding: utf-8 -*-
"""
@author: davidfnck
@wechat: fromfriend020
@email: davidfnck@gmail.com
"""
import pandas as pd
# === 策略产生信号
# 计算移动平均线(使用小时 K 线)
def signal_ma(df, ma_short=9, ma_long=26):
# ===计算均线
df['ma_short'] = df['Close'].rolling(ma_short, min_periods=1).mean()
df['ma_long'] = df['Close'].rolling(ma_long, min_periods=1).mean()
# ===产生买入信号
# 最新一个 K 线计算出的短期均线大于等于长期均线
condition1 = (df['ma_short'] >= df['ma_long'])
# 上个一根 K 线计算出的短期均线小于长期均线
condition2 = (df['ma_short'].shift(1) < df['ma_long'].shift(1))
# 发出信号
if condition1 and condition2:
return '买入信号'
# ===产生卖出信号
# 最新一个 K 线计算出的短期均线小于等于长期均线
condition3 = (df['ma_short'] <= df['ma_long'])
# 上个一根 K 线计算出的短期均线大于长期均线
condition4 = (df['ma_short'].shift(1) > df['ma_long'].shift(1))
# 发出信号
if condition3 and condition4:
return '卖出信号'
# === 执行操作
if __name__ == '__main__':
While true:
# 通过交易所 API 读取最新数据和 K 线数据
df = 获取数据()
# 获取信号并执行
signal = signal_ma(df, ma_short=9, ma_long=26)
if signal = '买入信号':
print '我买入了'
elif signal = '卖出信号':
print '我卖出了'
else:
print '我闲着'
Sleep(60000)
以上代码只是演示,在数据整理、定时程序的设置等还有很多细节,但思路就是每分钟甚至每秒钟读取最新价格数据,计算均线,产生信号,自动执行操作。其中最要注意的就是「上穿下穿」,这个判断是要判断两个时间段的数据大小,需要同时发生,才能最终确定是穿越。
三、量化策略真的那么好?
如果你觉得这个朴素的策略真好的时候,我必须要破一盆冷水。
1、如果你就在那个点位做空了,什么时候平仓?如下图,平仓完了还再做空吗?那为什么先要平仓浪费手续费呢?
2、看了上图你会觉得这个 MA 双均线策略挺准,就算损失点手续费也行,完全照这个来,你再看看下图,怎么抗住这个震荡?你就会看到收益曲线「瀑布式」暴跌了。
所以,如果你感受到了这其中魅力,想立马就投身到这个行业,你会体会到短暂的喜悦,回头看看不会量化的自己,就像一个手持木棍的原始人,在金融投资领域张牙舞爪「喔喔~吼吼~」,不知道面对的对手是手持重机枪的现代战士。幸运的你,看完这篇文章,开始学习的话,已经算是小米加步枪了。
这之后便是漫长的摸索,数据梳理、策略研究、参数调优、投资理念、思想提升……每一个环节你都应该找到一个最好的老师来教你。
四、老师,我想学量化!
嗯,不知道你内心是不是这个想法,假如是,那么经管之家量化投资学院 2018 年的推出「成就下一位投资大师」就业班,就是你最好的选择。
北京、上海现场开班,全国远程授课,最近一期 3 月开课,火热报名ing!扫码了解详情,或直接找我咨询。
如果你对课程感兴趣,也可以直接联系魏老师:
魏老师
QQ: 2881989714
Tel: 010-68478566
Mail: vip@pinggu.org
或者可以点击「课程链接」了解详情。
A good advertisement