Charts
DataOn-chain
VIP
Market Cap
API
Rankings
CoinOSNew
CoinClaw🦞
Language
  • 简体中文
  • 繁体中文
  • English
Leader in global market data applications, committed to providing valuable information more efficiently.

Features

  • Real-time Data
  • Special Features
  • AI Grid

Services

  • News
  • Open Data(API)
  • Institutional Services

Downloads

  • Desktop
  • Android
  • iOS

Contact Us

  • Chat Room
  • Business Email
  • Official Email
  • Official Verification

Join Community

  • Telegram
  • Twitter
  • Discord

© Copyright 2013-2026. All rights reserved.

简体繁體English
|Legacy

基于Python的菲阿里四价策略

CN
发明者量化
Follow
6 years ago
AI summarizes in 5 seconds.

摘要

在期货市场,价格呈现一切。几乎所有的技术分析,如均线、布林线、MACD、KDJ等等,这些都是以价格为基础,通过特定的方法计算。包括基本面分析也是如此,通过分析近期和远期价差、期货和现货升贴水、上下游库存等等数据,计算当前价格是否合理,并预估未来的价格。既然如此,为什么不直接研究价格呢?今天我们讲的菲阿里四价策略就是完全根据价格来做出卖决定。


菲阿里简介

菲阿里是一位日本的交易者,主要偏向于商品期货日内主观交易。其大名远扬是在2001年的罗宾斯(ROBBINS-TAICOM)期货冠军大赛中,以1098%的成绩获得冠军。并且在之后的两年里再以709%、1131%的成绩夺冠。从成绩就知道,菲阿里是一个非常优秀的交易者。


幸运的是,菲阿里在《1000%的男人》这本书中详尽叙述了他的交易方法,菲阿里四价策略正是后人总结他的交易方法。虽然只是从外在形式加上自己的理解模仿了一部分,并不代表菲阿里全部交易精髓,但至少可以帮助我们在构建策略时拓展思路。


策略逻辑

菲阿里四价策略是一种比较简单的趋势性日内交易策略,四价分别是指:昨天高点、昨天低点、昨日收盘价、今天开盘价。从书中的交易笔记来看,菲阿里不使用任何分析工具,而是大量应用阻溢线的概念,也就是通常我们所说的阻力线和支撑线。


阻力线 = 昨日最高价

支撑线 = 昨日最低价


对于阻力线和支撑线的定义,他使用的是昨日最高价和昨日最低价,可以视为昨天价格的波动范围,这也意味着多头或空头只有足够的力量时,才会有效突破阻力线和支撑线。并且一旦有突破这个波动范围,则说明价格背后的动能较大,后续走势可能会沿最小阻力线运动的概率较大。


多头开仓:价格突破阻力线

空头开仓:价格突破支撑线



如果开盘价处于阻力线和支撑线之间,当价格向上突破阻力线就建立多头,当价格向下突破支撑线就建立空头。如果一切顺利,则一直持仓到收盘。这样做的好处是,符合了充分非必要条件,即突破不一定上涨/下跌,但上涨/下跌一定会突破,也就是始终守在行情发生的必经之路伺机而动,因为较大行情的上涨和下跌一旦出现,势必要突破阻力线和支撑线的。


当然这也是出错率最高的方法,因为很多时候价格只是暂时性的突破了关键位置,如果贸然开仓可能会面临价格随时反向运动的风险。这时就需要设置一些过滤条件,限制假突破造成的来回开平仓问题。另外在交易周期上也尽量避免波动过于混乱的5分钟周期以下K线。


但是开仓后,盈利了还好,如果遇到亏损,总不能从小亏损一直积累到大亏损,才在收盘时平仓吧,这样显然不合理。所以我们对于平仓有两种处理方式:收盘平仓和止损平仓。如果K线上破高点或下破低点后又回到原来的区间内,就要考虑止损了。


多头平仓:收盘前5分钟或达到多头止损线

空头平仓:收盘前5分钟或达到空头止损线



实际上菲阿里在主观交易中,还有很多交易方法,包括:开盘后先涨后跌,跌破开盘价做空,止损设在之前上涨的最高点;开盘后先跌后涨,突破开盘价做多,止损设在之前下跌的最低点。动手能力强的朋友可以在自己的策略中增改。


到这里你会发现,对于一天的价格走势来说,收盘价相对于开盘价的涨跌,其概率接近于50%。菲阿里的交易方法在胜率上就利于不败之地,再加上行情顺利的时候一直持仓到收盘,在行情不符合自己的预期时及时止损。形成了截断亏损,让利润奔跑的正向交易方式,这也是长期交易下来积累利润的原因。


策略编写

第1步:编写策略框架

定义一个main函数和一个onTick函数,然后再main函数中,写入while循环,重复执行onTick函数。


第2步:导入库

因为我们这个是日内策略,到时候需要判断K线时间戳,如果有持仓,并且临近收盘时平仓出局。那么我们就直接import time就可以了。


第3步:获取基础数据

菲阿里四价需要用到四个数据:昨日最高价、昨日最低价、昨日收盘价、当日开盘价。因为这些都是日线级别的数据,所以我们在使用GetRecords的时候,可以直接传入PERIOD_D1参数,表明我们要获取的是日K,这样无论你的策略加载的是哪个周期的数据,它始终获取的都是日线级别的数据。


另外,细心的朋友可能已经发现,为什么这一次在调用GetRecords的时候,代码的写法跟以前不一样?这次我们使用的是发明者量化软件内置的重试函数_C()。使用这个函数的好处是,该函数会一直调用指定函数到成功返回,这样可以避免直接使用GetRecords函数时,没有获取到数据导致报错的情况。


第4步:处理时间和获取最新价格

既然是获取当前的时间,那么肯定是使用获取当前设置周期的K线数据更为合适,所以需要重新使用一次GetRecords,这次我们同样也是使用_C()重试函数,在不传入参数的情况下,就是默认获取当前设置周期的K线数组。另外,获取最新价格的目的是,计算交易逻辑和下单。


第5步:处理时间

之所以创建这个函数,是因为我们在开仓之前,需要判断当前时间,是否在我们规定的交易时间之内,以及有持仓的时候,当前时间是否临近收盘。在第4步中,我们已经获取到了当前K线小时和分钟,为了方便比较,我们采用小时加分钟的方法,比如:如果K线时间是9:05,那么trade_time返回的结果就是905;如果K线时间是14:30,那么trade_time返回的结果就是1430等等。


第6步:获取持仓

在之前的章节中,我们一直使用的是虚拟持仓,虽然编写起来简单,但只能适用于理想环境下。为了更贴近实战,在之后的章节中,我们将使用真实的持仓数据。要获取真实的持仓数据,其实也没那么难,直接使用发明者量化软件的GetPosition方法,就可以获取到当前账户的所有持仓。


GetPosition返回的是一个包含字典的一维数组:

其中,Amount是持仓数量、Price是开仓价格、Profit是当前利润、Type是多空方向(根据发明者量化API的定义,Type的值是0或2是代表多头,1或3代表空头)、ContractType是合约代码。而我们把多头持仓规整为正数,把空头持仓规整为负数。


第7步:设置止损

在大多数情况下,价格突破阻力线和支撑线,就把止损设置到当前开盘价这个位置。但是这里面有个问题:如果当天开盘价大于阻力线,而价格往下走;或者当天开盘价小于支撑线,而价格往上走,会造成逻辑错误,导致频繁开平仓。


为了解决这个问题,我们需要根据当天开盘与阻力线和支撑线的位置关系,分别设置不同的止损价格。如果当天开盘价大于昨天最高价0.5%,那么就把多头的止损设置在昨天的最高价;如果当天开盘价在阻力线和支撑线之间,那么多头的止损价格还是当天的开盘价;如果当天开盘价接近于昨天最高价,那么就把多头的止损设置在昨天的中间价。设置空头的止损也是根据这个道理。


第8步:下单交易

万事俱备就可以下单交易了,为了避免逻辑错误,最好是把平仓逻辑写到开仓逻辑的前面。完整的策略已经公开到发明者量化的策略页面中: https://www.fmz.com/strategy/179505


总结

虽然距离比赛结束已经有近20年之久了,但以今天的眼光看那时的交易,毫无过时感。但需要注意的是,策略仅仅作为思路拓展,不能直接用于实盘。对于菲阿里策略来说,它提供了一个很好的入场参考工具,我们可以根据自己对市场的认知做更深的开发,市场是不断进化的,如果笃信一个交易方式,最终会被市场淘汰。

免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。

五一拒绝空军!限量专业钓具免费送
广告
|
|
APP
Windows
Mac
Share To

X

Telegram

Facebook

Reddit

CopyLink

|
|
APP
Windows
Mac
Share To

X

Telegram

Facebook

Reddit

CopyLink

Selected Articles by 发明者量化

4 years ago
CTA策略之orderflow订单流策略(2)
4 years ago
零基础入门商品期货程序化交易(1)
4 years ago
币圈量化交易萌新看过来--带你走近币圈量化(八)
View More

Table of Contents

|
|
APP
Windows
Mac
Share To

X

Telegram

Facebook

Reddit

CopyLink

Related Articles

avatar
avatar青岚加密课堂
2 hours ago
Multi-period signal differentiation, has the turning point for BTC appeared tonight? 5/1
avatar
avatar顾景辞
3 hours ago
Gu Jingci: 5.1 Bitcoin/Ethereum Evening Operation Strategy with Market Analysis
avatar
avatar蚂蚁AT俱乐部
8 hours ago
The key point of the US CLARITY Act on May 21 will reshape global cryptocurrency regulation, benefiting compliant sectors and overall market valuation.
avatar
avatar老崔说币
10 hours ago
Musk admitted that cryptocurrency scams have changed the short-term situation of Bitcoin?
avatar
avatar青岚加密课堂
14 hours ago
Musk's major negative news has crashed the market! How will BTC perform in the future 05/01
APP
Windows
Mac

X

Telegram

Facebook

Reddit

CopyLink