V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bmpidev2019
V2EX  ›  推广

做了一个支持多策略的全球市场投资交易提醒工具

  bmpidev2019 · 2024-04-10 11:09:27 +08:00 · 54064 次点击
这是一个创建于 380 天前的主题,其中的信息可能已经有所发展或是发生改变。

这个产品断断续续做了好几年了,之前已经有两个版本废弃了,具体 i 可以看这个开源项目: https://github.com/myinvestpilot/gravestones

产品的初始念头是基于我自身的需求,一方面我不想浪费太多时间在投资交易上,这是因为没时间盯盘以及盯盘会受到市场的影响,再就是本金不多的情况下花太多时间在投资上挺浪费时间的,时间应该花在提高本金的事情上。

要解决这个问题,有多种办法,没有钱可以选择选好的公募基金,好的大 V 来跟投,有钱可以选择好的私募。但是这些方式并不适合我,我并不信任公募基金,也不信任大 V 的操作,虽然我认可某些大 V 的理念,但是我并不想去长期跟投一个人,这很容易出现公募基金的问题。

所以解决办法只能是通过一些量化回测的方式,通过一些策略去做自动化的交易,但股票的流动是个大问题,所以这里可选的也就只有 ETF 了。于是这个产品的雏形出现了,早期是一个双均线策略的提醒工具,策略非常简单,甚至没有去优化,因为我担心过拟合的问题,因为似乎双均线在 A 股的效果还不错,我甚至还专门做过一些回测:双均线交易策略

但这个系统存在一些问题,不支持美股与加密币,我也不想一棵树上吊死,显然全球投资是必然的,那么从资产配置的角度看,A 股、美股与加密币就是一个不错的选择。为了支持全球市场以及多种资金策略与交易策略,去年开始我把系统升级成了现在这个产品的形态。目前创建各种策略的组合非常简单,甚至在未来会把策略与组合创建的权限下放给所有用户。现在你可以查看支持全球市场的十几个组合的历史表现: https://www.myinvestpilot.com/portfolios

另外一个需要注意的是,为了展示策略的有效性,我会通过创建一些模拟组合,通过组合的历史表现风险数据来评估策略的有效性,这也是为什么策略与组合在一起出现的原因。

当然这个产品也有一个面向海外的子产品:Chat2Invest,这是基于 LLM 的一个 AI 工具,能帮助分析个股的一些技术与基本面消息面的问题,但是因为模型的不稳定,目前这个子产品还处于试验阶段,我会在后续把策略选股及组合分析的功能也加入进去,更重要的是可以监控个股或市场,这个目的都是为了降低时间成本,让长期投资变得更容易一些。

现在提供一个免费申请试用的活动,首页里填写一个调查问卷,大概十几个小问题就可能获得试用的机会,如果感兴趣,请直接提供反馈给我吧,谢谢!

第 1 条附言  ·  2024-04-10 20:30:28 +08:00

第 2 条附言  ·  2024-04-22 08:07:21 +08:00
目前策引有个活动,邀请开户即送年会员,具体见这篇文章: https://www.bmpi.dev/money/guide-to-open-global-investment-account/
第 3 条附言  ·  362 天前

针对投资组合的交易策略、资金策略、标的池及历史回测的表现,写了一系列的文章,欢迎围观👇

第 4 条附言  ·  339 天前

根据在策引产品开发中的体会及与大家的讨论,整理了一篇文章:《对交易的思考》,欢迎大家留言讨论。

第 5 条附言  ·  240 天前
自定义组合已经上线,支持 A 股、美股及加密币的日线级别的策略,欢迎试用!
152 条回复    2025-04-18 14:10:34 +08:00
1  2  
AllenTsui
    1
AllenTsui  
   2024-04-10 13:49:53 +08:00
先点赞,再细看,想问问做这种东西都需要那些垂直领域的知识技能?
bmpidev2019
    2
bmpidev2019  
OP
   2024-04-10 15:16:50 +08:00
@AllenTsui 投资方面的,比如量化回测,投资的经验啥的,因为策略可能和经验假设相关,然后就是系统架构设计之类的,不过这个系统代码大多是 ChatGPT 4 写的,所以技术方面可以不做要求。
AllenTsui
    3
AllenTsui  
   2024-04-10 16:37:45 +08:00
@bmpidev2019 了解,没想到 ChatGPT 已经这么厉害了,👍
FsTurbo
    4
FsTurbo  
   2024-04-10 16:48:47 +08:00
你的博客好像已经很久不更新了
xiaozirun
    5
xiaozirun  
   2024-04-10 16:55:43 +08:00
这个价格有点...... 太贵了吧!!!
bmpidev2019
    6
bmpidev2019  
OP
   2024-04-10 17:51:05 +08:00
@FsTurbo 因为没时间写😂
JohnChang
    7
JohnChang  
   2024-04-10 23:37:00 +08:00
你的博客好像已经很久不更新了

ps.前段也是在博客注意到这个策引网站,已经收藏了,虽然看不懂。
bmpidev2019
    8
bmpidev2019  
OP
   2024-04-11 07:19:59 +08:00 via iPhone
@JohnChang 最近会写一些的
Livid
    9
Livid  
MOD
   2024-04-11 14:23:29 +08:00
如果策略是在每次 BTC 的 15m/1h RSI 下穿 30 的时候买入 BITX ( 2 倍做多 ETF )你觉得如何呢?
bmpidev2019
    10
bmpidev2019  
OP
   2024-04-11 15:04:34 +08:00
@Livid 需要回测下这个策略,但存在的问题是:

- 使用 BTC 得日内交易数据产生交易信号,但是买入时却是 ETF ,可能在同一天产生多个交易信号,这时候怎么处理?
- 只有买入没有卖出?

如果能对这两个问题做个假设,也就是在执行 ETF 买入时,聚合多个交易信号,只交易一次,以定投的形式进行,这样可以多次交易。

另外一个问题是测试此策略的基准是什么?是买入 BTC 持有不动呢还是买入 BITX 持有不动呢?至少策略的最终表现要比持有不动的效果好才行,也需要与主流指数做对比。
Livid
    11
Livid  
MOD
   2024-04-11 15:11:42 +08:00
@bmpidev2019 BITX 可以 24 小时交易(除了周日),在 extended hours 会有一定的价格延迟。

卖出策略可以是手动执行,或者在 15m RSI 上穿 70 的时候卖。

在目前的牛市背景下,一直拿到 1d RSI 70 也不是不行。
Livid
    12
Livid  
MOD
   2024-04-11 15:16:56 +08:00
BITX 的 YTD 表现

bmpidev2019
    13
bmpidev2019  
OP
   2024-04-11 15:26:03 +08:00
@Livid 我在券商里看到 BITX 还是正常的交易时间才能交易,虽然可以盘前盘后,但始终不是 24 小时交易的。另外就是日内数据的获取我手头的付费 API 虽然能拿到日内数据,但是没法拿到历史日内数据,这种策略难以回测,除非能拿到很时间的日内数据,然后通过回测框架测试才能评估这个策略的有效性。

另外一种方式就是通过 BTC 日线级别的数据来回测,我准备用你这个策略来回测下 BTC 的标的,因为产生交易信号的标的如果不是交易标的的话,回测框架也不支持,或者需要做单独的处理。如果这个策略在 BTC 下的表现不错,那在二倍做多的 BITX 上应该也是有效的。
bmpidev2019
    14
bmpidev2019  
OP
   2024-04-11 15:28:01 +08:00
@Livid BITX 的问题是交易数据只能到去年,太短了,不过如果有历史日内数据,日内级别应该也够用了,但是搞不到历史的日内数据
Livid
    15
Livid  
MOD
   2024-04-11 15:31:16 +08:00
@bmpidev2019 因为这个 ETF 是去年才上线的。

接入了 Blue Ocean 的券商可以支持 24 小时交易:

https://blueocean-tech.io/our-services/
bmpidev2019
    16
bmpidev2019  
OP
   2024-04-11 15:45:32 +08:00   ❤️ 1
@Livid 感谢推荐。我刚实现了 RSI 日线级别的 BTC 策略(名字为加密币 3 号),回测效果一般。这个策略是当 RSI 的 14 日低于 30 时全仓买入,高于 70 时全仓卖出,它的表现效果如下:

```
{
"code": "myinvestpilot_cc_3",
"name": "加密币 3 号",
"currency": "USD",
"final_value": 108941.84725,
"net_value": 1.089418472500001,
"fund_value": 108.94184725000001,
"cagr": 3.059500151662209,
"sharpe_ratio": 0.1599847960509232,
"current_drawdown": -17.538621850579343,
"max_drawdown": -0.5061860724539857,
"max_drawdown_duration_days": 205,
"total_trades": 12,
"profit_trades": 8,
"loss_trades": 4,
"running_days": 1038,
"inception_date": "2021-06-08T00:00:00"
}
```

![]( https://img.bmpi.dev/5af30e19-6841-7886-fe35-87980b8d9ab3.png)

这个表现不如我在[策引加密币 2 号]( https://www.myinvestpilot.com/portfolios/myinvestpilot_cc_2 )中的吊灯止损均线策略的效果好。

但日内数据到底怎么样,在二倍做多的 ETF 上效果如何就不知道了,但是可以作为一个参考。
Livid
    17
Livid  
MOD
   2024-04-11 15:48:03 +08:00
@bmpidev2019 用现在回去看的上帝视角,2022 年整年的正确操作就是不要操作,年底的时候抄底。:)
bmpidev2019
    18
bmpidev2019  
OP
   2024-04-11 15:48:29 +08:00   ❤️ 1
上面这个策略的代码如下:

```python
import pandas as pd
from trade_strategies import BaseTradeStrategy, TradeSignalState

class RsiStrategy(BaseTradeStrategy):
"""Relative Strength Index (RSI) Trading Strategy"""

# 默认参数
params = {
'rsi_period': 14,
'rsi_overbought': 70,
'rsi_oversold': 30,
}

def __init__(self, params=None):
super().__init__()
if params:
self.params.update(params)

def set_data(self, symbol, data):
self.symbol = symbol
self.data = data
self.calculate_indicators()

def calculate_indicators(self):
delta = self.data['Close'].diff()
gain = (delta.where(delta > 0, 0)).rolling(window=self.params['rsi_period'], min_periods=1).mean()
loss = (-delta.where(delta < 0, 0)).rolling(window=self.params['rsi_period'], min_periods=1).mean()

rs = gain / loss
self.data['rsi'] = 100 - (100 / (1 + rs))

def is_buy_signal(self, rsi):
return rsi < self.params['rsi_oversold']

def is_sell_signal(self, rsi):
return rsi > self.params['rsi_overbought']

def generate_signals(self):
signals = [TradeSignalState.EMPTY.value for _ in range(len(self.data))]

for i in range(1, len(self.data)):
if self.is_buy_signal(self.data['rsi'].iloc[i]):
signals[i] = TradeSignalState.BUY.value
elif self.is_sell_signal(self.data['rsi'].iloc[i]):
signals[i] = TradeSignalState.SELL.value
else:
signals[i] = TradeSignalState.EMPTY.value

signal_df = pd.DataFrame({
'symbol': self.symbol,
'open': self.data['Open'],
'high': self.data['High'],
'low': self.data['Low'],
'close': self.data['Close'],
'volume': self.data['Volume'],
'rsi': self.data['rsi'],
'signal': signals
})

return signal_df

```
bmpidev2019
    19
bmpidev2019  
OP
   2024-04-11 15:50:15 +08:00
@Livid 用上帝视角交易不要更简单😂但是真正的交易总是雾里看花,历史回测好歹能拨开点迷雾。有时间我用经验假设的策略最终回测效果都一般,真正效果好的反而是很简单的策略,太复杂的没有容错性,太简单的又很容易失效。
Livid
    20
Livid  
MOD
   2024-04-11 15:52:35 +08:00
@bmpidev2019 如果是在 2023 年 1 月 1 日开始的 15 分钟的数据上呢?
bmpidev2019
    21
bmpidev2019  
OP
   2024-04-11 15:55:40 +08:00
@Livid 我也很好奇,但我手头的 API 的日内数据,如果是 15 分钟级别只能提供最近两天的,日线可以提供到 2021 年前的,所以现在需要找到一个能有 BTC 日内历史数据的 API 接口才能回测。
Livid
    22
Livid  
MOD
   2024-04-11 15:59:53 +08:00
@bmpidev2019 有意思,我也来研究一下怎么找这样的数据。我目前用的是 TradingView.com ,不过还没有到自己写程序这一步。

话说,如果买了你的那个服务,是不是可以自己 DIY 这样的图出来?

https://img.bmpi.dev/5af30e19-6841-7886-fe35-87980b8d9ab3.png
Livid
    23
Livid  
MOD
   2024-04-11 16:04:55 +08:00
@bmpidev2019 刚才在看你的网站,注意到你的 TQQQ 的策略确实避开了 2022 年的雷?赞。

bmpidev2019
    24
bmpidev2019  
OP
   2024-04-11 16:08:38 +08:00   ❤️ 1
@Livid 现在策引的多策略回测框架支持日线级别的股票、ETF ( A 股和美股都可以)与加密币的历史回测表现分析。刚才我做那个分析就是几分钟写策略(代码让 chatgpt 来写),然后配置一个组合,执行后就能产生那个走势图以及一个包含全部交易信号的 sqlite 数据库及组合表现(净值、benchmark 指数对比、交易记录、资金记录、持仓记录)的 sqlite 数据库,然后还能产生全部的回测日志供分析。

目前策引的组合都是我写策略然后发布的,还没有对会员开放自定义策略的功能,但是今年年底左右估计能开放给所有用户。如果会员有好的策略,我也可以帮忙创建相关的组合出来,包括策略的编写之类。

日内的数据理论上应该也行,因为底层回测引擎是 backtrader ,但是估计要做一些改动,目前还没有直接对日内数据做支持。
paopjian
    25
paopjian  
   2024-04-11 16:13:48 +08:00   ❤️ 29
楼上的对话我除了字以外一句也没看懂, 好高端
bmpidev2019
    26
bmpidev2019  
OP
   2024-04-11 16:15:33 +08:00   ❤️ 1
@Livid TQQQ 的策略就是我一直提到的吊灯止损均线策略,这个策略在美股和加密币表现都不错,但是 A 股不行,A 股反而双均线策略非常好😂

我还对 A 股二号,其实类似与美股 2 号( TQQQ ),都是单个标的全仓交易,都能规避大跌。但是针对 A 股的创业板组合,我还做过进一步的研究分析,这里可以分享下,以及设计策略的取舍经验:

---

尝试优化下 A 股 2 号,一开始我尝试用三重均线的策略来测试,如图 1 所示,看起来三重均线要比双均线好很多,完全规避了近几年的大跌,但当把组合模拟时间从 2018 年回退到 2013 年开始,这十年创业版刚好经历两个大的周期。三重均线的适应性出现了很大的问题,如图二所示,甚至都不如直接持有创业板指数,而且资金利用率很低,大部分都是空仓状态。而双均线的适应性如图三所示,比单独持有创业板要好很多,我尝试优化双均线的参数,得到了一个比 11/22 日更好的效果,目前这个参数是 12/24 ,所以我会把组合二的策略参数调整成这一组。但需要注意的是,就算双均线策略,在 2013 年到 2018 年表现的甚至不如直接持有创业板的收益好(进一步分析是因为在 2013 年组合是有一段时间空仓导致没能赶上创业板大爆发的阶段,这是因为数据不够导致的,如果数据能到 2010 年,那说不定能看到更好的表现,所以目前看到策略在 2013 年到 2018 年表现差可能是回测数据不够导致的),这说明很难找到一个在横跨十年时间都能完美处理止损的策略参数,我们能做的还是选择一些基础不错的主流指数,适当分散投资,这样能让组合的整体持仓表现更稳定一些,也能让长期投资跟更容易坚持下来。

![图 1]( https://img.bmpi.dev/03166bc5-9207-3b68-9ef8-a6d8a18730cd.png)

![图 2]( https://img.bmpi.dev/4e22192b-fbed-7e6a-ac3d-2540f725d2e8.png)

![图 3]( https://img.bmpi.dev/0e86a626-d583-908d-28c1-d8821ee07959.png)
laaaaaa
    27
laaaaaa  
   2024-04-11 16:17:04 +08:00
牛哇;
但是没有试用详细看,想问一下,高频超短的( 15min 内)的策略,是类似网格吃震荡?
bmpidev2019
    28
bmpidev2019  
OP
   2024-04-11 16:20:48 +08:00
@bmpidev2019 上面图一和图二反了,实际图一是 https://img.bmpi.dev/4e22192b-fbed-7e6a-ac3d-2540f725d2e8.png 图二是 https://img.bmpi.dev/03166bc5-9207-3b68-9ef8-a6d8a18730cd.png
图三是最终用优化后双均线的表现。

在这里想说的是周期对策略会有大的影响,盈亏同源,所以难点在于平衡取舍,尽可能选择分散的标的来规避过拟合以及让策略的容错能更高一些,这样就能横跨多种周期了。
Livid
    29
Livid  
MOD
   2024-04-11 16:21:36 +08:00   ❤️ 3
@bmpidev2019 Crypto 策略里可以关注一下 SOL
bmpidev2019
    30
bmpidev2019  
OP
   2024-04-11 16:23:34 +08:00
@laaaaaa 网格吃震荡我不觉得是什么好策略,因为震荡行情赚钱效果不如趋势行情,当一个策略在震荡里赚钱时就可能错过了大趋势,所以震荡只能作为一种辅助工具来使用。
Livid
    31
Livid  
MOD
   2024-04-11 16:25:58 +08:00
全自动的高频网格很容易遇到的问题就是暴跌的时候全部套住没有钱抄底,暴涨的时候已经空仓了。
bmpidev2019
    32
bmpidev2019  
OP
   2024-04-11 16:26:54 +08:00
@Livid SOL 看起来是个短线高频策略了,我刚看了下,这种策略难道要接入自动化交易来执行?
Livid
    33
Livid  
MOD
   2024-04-11 16:31:03 +08:00
@bmpidev2019 SOL 从去年 10 月行情启动之后,目前我的做法就是 15m/1d RSI 下 30 的时候放心买,然后感觉差不多了就出,当然也遇到过很多次事与愿违的情况,但目前大环境好像容错度很高,至少不是 2022 年的地狱模式。接下来我就是想把这件事情给尽可能自动化。大的交易所都有交易 API ,15m 甚至 5m 级别的交易信号,可以在 TradingView 上配置 webhook 。
bmpidev2019
    34
bmpidev2019  
OP
   2024-04-11 16:38:05 +08:00
@Livid 看了下,2022 年的行情里,策引加密币 2 号( https://www.myinvestpilot.com/portfolios/myinvestpilot_cc_2 )产生了 30%多的回撤,虽然空仓时段比较多,但是大的回撤还是很难避免。但是加密币 1 号: https://www.myinvestpilot.com/portfolios/myinvestpilot_cc_1 在 2022 年反而都是空仓状态,两个组合的差异在于资金策略,2 号时满仓交易 BTC ,1 号是限制单个标的不能超过 20%,关注的币也包括:"BTC", "ETH", "XRP", "LTC", "BCH", "ADA", "BNB", "LINK", "XLM", "DOT" 都是一些主流币,这样反而能控制回撤,不过表现没有 2 号那么好,1 号的年复合收益是 20%多,2 号是 30%多,但是这只是在 BTC 处于牛市状态下,如果再回到熊市,1 号的表现可能会更好一些。
Livid
    35
Livid  
MOD
   2024-04-11 16:40:53 +08:00
@bmpidev2019 除了 BTC/ETH/SOL 之外的其他币种,大部分时候是跟随 BTC ,偶尔会比 BTC 涨得多,但如果一旦 BTC 跌,这些只会跌更多。
bmpidev2019
    36
bmpidev2019  
OP
   2024-04-11 16:44:31 +08:00
@Livid 是的,我在设计组合的时候,会建立分散的组合,也有单个标的如 A 股 2 号、美股 3 号、加密币 2 号这种全仓交易一个标的的组合,这样的组合进攻型足够高,但是回撤都不小,适合风险承受能力高的人,而回撤小的组合更适合风险承受小的人。

之所以要关注风险指标是因为,如果一个策略与交易者的承受能力不匹配,实际的交易则很难进行下去,最终会让交易结果变差,因为交易者可能中途会放弃这个策略。
eokol
    37
eokol  
   2024-04-11 19:53:54 +08:00
hold 真香
bmpidev2019
    38
bmpidev2019  
OP
   2024-04-11 20:54:27 +08:00
@Livid 搞到 15m 和 1h 的 BTC 日内数据了,2021 年到现在,大概几十 MB ,我测试了下你的策略效果都是负的。

https://imgur.com/a/dOfRibG

无论设置到 2021 年开始,还是 2022 年牛市开始,这种高频策略最终的收益都是亏损的。策略代码如下:

```python
class RsiStrategy(bt.Strategy):
params = (
('rsi_period', 14),
('rsi_overbought', 70),
('rsi_oversold', 30),
)

def __init__(self):
# 为两个不同的时间框架数据分别计算 RSI
self.rsi_15m = bt.indicators.RSI(self.datas[0].close, period=self.params.rsi_period)
self.rsi_1h = bt.indicators.RSI(self.datas[1].close, period=self.params.rsi_period)

def next(self):
# 获取当前时间戳
timestamp = self.datas[0].datetime.datetime(0)

# 买入条件:当 15 分钟和 1 小时的 RSI 都低于 30 时
if not self.position:
if self.rsi_15m[0] < self.params.rsi_oversold and self.rsi_1h[0] < self.params.rsi_oversold:
self.buy(data=self.datas[0]) # 使用 15 分钟数据源的价格买入
logging.info(f"{timestamp} BUY EXECUTED, Price: {self.datas[0].close[0]}, RSI 15m: {self.rsi_15m[0]}, RSI 1h: {self.rsi_1h[0]}")

# 卖出条件:当 15 分钟和 1 小时的 RSI 都高于 70 时
elif self.rsi_15m[0] > self.params.rsi_overbought and self.rsi_1h[0] > self.params.rsi_overbought:
self.close(data=self.datas[0]) # 使用 15 分钟数据源的价格卖出
logging.info(f"{timestamp} SELL EXECUTED, Price: {self.datas[0].close[0]}, RSI 15m: {self.rsi_15m[0]}, RSI 1h: {self.rsi_1h[0]}")
```
Livid
    39
Livid  
MOD
   2024-04-11 21:48:59 +08:00
@bmpidev2019 我看了你的代码,我要表达的不是这样的逻辑,我没有说 15m 和 1h 都必须同时满足才是交易信号……而且实际运作的时候,卖出策略用的是等比 OTO 订单卖出,不可能最终出现负数的。
Livid
    40
Livid  
MOD
   2024-04-11 22:53:51 +08:00
没事,是我之前的表达太含糊了,毕竟只是在论坛的简短发帖,又不是什么严谨的需求文档。根据这样的含糊描述写出来的代码跑出来负数,那就负数吧。:-)
bmpidev2019
    41
bmpidev2019  
OP
   2024-04-11 23:43:28 +08:00 via iPhone
@Livid 我用 coinapi 获取到的日内数据,你可以自己试试这个策略的回测看看最终效果
reechangs
    42
reechangs  
   2024-04-12 00:38:40 +08:00
这个很有意思,不过盘前发 email 有时候容易没看到或者忘记执行。有没有考虑过连接券商 api 的 robo ?
Inn0Vat10n
    43
Inn0Vat10n  
   2024-04-12 00:45:07 +08:00
动量策略去噪和控回撤比单纯信号重要
reechangs
    44
reechangs  
   2024-04-12 01:00:02 +08:00
如果能增加一个美股和 Crypto 定投策略就更好了
bmpidev2019
    45
bmpidev2019  
OP
   2024-04-12 06:06:57 +08:00 via iPhone
@reechangs 美股 4 号就是定投策略。自动化交易并不适合普通交易者,目前还没有这个规划。
@Inn0Vat10n 我还没试过你说的方式,不过目前这个产品并不是一个为专业投资者打造的工具,所以策略尽可能简单操作少。
sb
    46
sb  
   2024-04-12 09:49:39 +08:00   ❤️ 2
@Livid #39 我有使用类似的思路做自动化交易,我选用了 ATR 震荡均幅,大于 0.5 视为有暴涨和暴跌,低于 0.5 视为常规震荡。
在 0.5 以下时,采用 BOLL 下轨或下轨以下 x%5 分钟或 15 分钟级别买入 BTC
在 0.5 以上时,采用 BOLL 下轨或下轨以下 x%1 小时级别买入 BTC
控制 DCA 次数,以控制风险。

卖出按照固定 x%卖出止盈,阶段性保留底仓。
思路:1 ,震荡向上的行情,做 T 获取短期利润。2 ,降低底仓成本
12liuxiangyu12
    47
12liuxiangyu12  
   2024-04-12 09:51:39 +08:00
关注楼主,我最近也做了个类似的事情,写了个回测系统跑全 A 股所有股票,请教下楼主各股票市场实盘接口咋弄的?
Livid
    48
Livid  
MOD
   2024-04-12 10:20:15 +08:00
@sb 嗯,这个太关键了:

“卖出按照固定 x%卖出止盈,阶段性保留底仓。”

还有阶段性保留抄底资金。
Livid
    49
Livid  
MOD
   2024-04-12 10:24:44 +08:00
@sb 自从去年 10 月 SOL 的这波行情启动之后,虽然大部分时候 SOL 和 BTC 涨跌同步,但有时候 SOL 会上演双倍的快乐或者痛苦,所以我同时关注 SOLBTC 这个比值,当差距接近或者大于 -2% 的时候,也是买入时机。
sb
    50
sb  
   2024-04-12 10:25:04 +08:00   ❤️ 1
@Livid #48 保留底仓的内涵逻辑是新开底仓的逻辑与 DCA 加仓逻辑不同。我的设定重底仓的逻辑会选在大幅度下跌时建立,接受浮亏。下跌后通常开始震荡修正,那么便是预期的 DCA 行情。

根据我的实盘测试,从 2 月 19 日跑该策略(期间有小幅调整参数),至今盈利三倍。DCA 次数最大时,账户满仓总杠杆是 7 倍。另外我也有测试杠杆更大的情况,本金更小,仓位更高,及时提盈,爆仓止损。
sb
    51
sb  
   2024-04-12 10:27:23 +08:00   ❤️ 1
@Livid #49 SOL 看起来相较于 BTC ,自带了 2 倍杠杆。同样的按照我上述的策略,4 月头上运行了 SOL 策略,可惜行情从高点震荡下跌幅度有点大,暂时没反弹上去,整体仓位套牢。带杠杆的情况下目前浮亏 20%。
sb
    52
sb  
   2024-04-12 10:28:48 +08:00   ❤️ 1
@Livid #49 现在的 SOL 震荡位置按照我的策略,现在是最佳的介入机会,因此我又开了另外的一个子账户运行同样的策略,重新建仓看看。哈
Livid
    53
Livid  
MOD
   2024-04-12 11:15:13 +08:00 via iPhone
@sb 哈哈,家人。我也套了一些 SOL 。就看接下来 BTC 会怎么走了,如果再冲一波 ATH ,站稳 71.5 ,那 SOL 可以赚着出来。如果又往下,那就 BITX 走起。
winglight2016
    54
winglight2016  
   2024-04-12 14:57:20 +08:00
看夏普率和年化,大概率已经过拟合了。

ETF 就不要频繁交易了,就像 lz 说的,资金量小就不要投入更多的时间和精力,标普和纳斯达克 ETF 比自己写的策略要靠谱多了。

实在想挑战一下战胜市场,少量投入炒一下 mini 纳斯达克的期权也行。
bmpidev2019
    55
bmpidev2019  
OP
   2024-04-12 16:28:37 +08:00 via iPhone
@winglight2016 策略优化很难避免拟合,只能降低,真正拟合的参数没有用,不然表现比现在的组合还要炸裂。
K2
    56
K2  
   2024-04-13 08:40:38 +08:00
我在用的双均线是 5,20
目前仍在持续布局周线和月线级别趋势低位的 crypto 现货
1044523901
    57
1044523901  
   2024-04-15 15:57:13 +08:00
牛逼啊,不支持缅 A 吗?
standchan
    58
standchan  
   2024-04-15 17:04:27 +08:00
@1044523901 #57 金融巨头贝莱德都铩羽而归的,谁来写这个程序都没法哈
standchan
    59
standchan  
   2024-04-15 17:13:01 +08:00
@1044523901 #57 支持的,你看他网站,之前没点开网站来看过
bmpidev2019
    60
bmpidev2019  
OP
   2024-04-15 17:59:44 +08:00
@standchan 缅 A 还行啊,A 股 2 号年复合 16%的收益还行,毕竟无风险利率都干到 2 个点了
lefer
    61
lefer  
   2024-04-16 10:29:03 +08:00
我现在大概手上有 100 万的流动资金,投资美股的话我也搞不懂。不过这个工具看上去不错,勾起了我这方面的兴趣。

看上去我最近需要折腾一下这条路了。
bmpidev2019
    62
bmpidev2019  
OP
   2024-04-16 11:08:45 +08:00   ❤️ 1
@lefer 填写首页的问卷调查就能获得试用资格,还有对于这个工具是不适合我的问题,我整理了大约 20 多个 FAQ 的问题到这两个页面,关注的朋友可以阅读下:

- https://www.myinvestpilot.com/strategy
- https://www.myinvestpilot.com/portfolios
LucasYang
    63
LucasYang  
   2024-04-17 14:43:39 +08:00
这个太牛了,感谢老哥
PeterXx
    64
PeterXx  
   2024-04-17 15:03:10 +08:00
感谢大佬分享
z1WhpL268TWE173O
    65
z1WhpL268TWE173O  
   2024-04-17 19:20:34 +08:00
@bmpidev2019 #41 这个帖子含金量很高, 因为我也在学习.
jingrs489
    66
jingrs489  
   2024-04-17 22:21:53 +08:00
技术贴,绑定
bmpidev2019
    67
bmpidev2019  
OP
   2024-04-18 11:33:12 +08:00
想到一种用期权来降低风险的策略,这种在币圈应该是基操,不过我没操作过期权。目前美股 1 号是一个全仓三倍做多的杠杆 ETF 组合,这种组合虽然有策略来止损退出,但是因为波动性过大,止损有效时组合已经产生较大的回撤,那可以使用期权来保护,比如买入纳斯达克 100 的 Put 期权,大致测算的过程如下:

以下对话来自 ChatGPT:

美股 3 号是一个满仓 TQQQ 的组合,组合持仓金额达 10 万美元,目前的报价为 53.71 美元,我们买入 QQQ 240517 379.78 Put 的期权( 1 份目前价值 0.91 美元),这名字里有行权价和到期日,分别测算最近 1 个月纳斯达克涨 10%与跌 10%,及没有大的涨跌的情况下,这个组合的收益大概怎么变化(与无期权的策略对比)

---

让我们来详细分析和计算您提到的美股 3 号组合在不同市场情况下的潜在收益变化。这个组合完全投资于 TQQQ ,总值为$100,000 ,同时您考虑购买 QQQ 的看跌期权来对冲风险。

### 初始设定
- **TQQQ 持仓金额**:$100,000
- **TQQQ 单价**:$53.71
- **TQQQ 持股数**:$100,000 / $53.71 ≈ 1862 股
- **QQQ 看跌期权**:行权价$379.78 ,价格$0.91/股,到期日 2024 年 5 月 17 日
- **期权合约每份覆盖**:100 股 QQQ
- **期权合约购买数量**:需覆盖相当于 TQQQ 持仓的份额,由于 TQQQ 是 QQQ 的三倍杠杆,考虑覆盖相当于$100,000 三倍,即$300,000 的市值。假设 QQQ 价格与纳斯达克 100 指数相近,大约为$400 ,则需要的 QQQ 股数约为$300,000 / $400 = 750 股。因此需要购买大约 8 份期权合约( 750 / 100 )。

### 成本计算
- **期权总成本**:8 份 x $0.91 x 100 股 = $728

### 纳斯达克涨跌 10%情况分析
我们先假设 QQQ 价格大约为$400 ,以简化计算。以下为市场涨跌 10%的影响:

#### 1. 纳斯达克上涨 10%
- **QQQ 新价格**:$400 * 1.10 = $440
- **TQQQ 新价格**:因为是三倍杠杆,TQQQ 大约涨 30%。
- **新的 TQQQ 价值**:$100,000 * 1.30 = $130,000
- **期权到期无值**,损失$728 。

#### 2. 纳斯达克下跌 10%
- **QQQ 新价格**:$400 * 0.90 = $360
- **TQQQ 新价格**:因为是三倍杠杆,TQQQ 大约跌 30%。
- **新的 TQQQ 价值**:$100,000 * 0.70 = $70,000
- **期权内在价值**:行权价$379.78 ,QQQ 价格$360 ,每股内在价值$379.78 - $360 = $19.78 。
- **期权总价值**:$19.78 * 100 股 * 8 份 = $15,824
- **净收益**:$15,824 - $728 = $15,096

#### 3. 没有大的涨跌
- **TQQQ 价值**:基本保持$100,000
- **期权损失**:$728 (时间价值的逐渐流失)

### 总结
- **纳斯达克上涨 10%**:
- **无期权策略**:$130,000 (净增$30,000 )
- **有期权策略**:$130,000 - $728 = $129,272 (净增$29,272 )
- **纳斯达克下跌 10%**:
- **无期权策略**:$70,000 (净损$30,000 )
- **有期权策略**:$70,000 + $15,096 = $85,096 (净损$14,904 )
- **市场平稳**:
- **无期权策略**:$100,000 (无变化)
- **有期权策略**:$100,000 - $728 = $99,272 (净损$728 )

通过这种详细的分析,我们可以看到在不

同市场环境下,使用看跌期权来对冲风险确实可以减少损失,尤其在市场下行时。然而,在市场上行或稳定时,期权的成本会略微减少总体的投资收益。这种策略提供了一种权衡,旨在保护极端市场下跌带来的风险,但需付出一定的代价。

---

想请教下做过期权的大佬,这种测算在真实市场中有啥没有考虑到的?因为看起来加入期权后,这种组合既有保底又又很强的进攻性,看起来非常完美,但是总感觉没那么简单🤔
pippo1227
    68
pippo1227  
   2024-04-18 11:49:04 +08:00
太牛了
zzzzzzZ
    69
zzzzzzZ  
   2024-04-18 12:01:15 +08:00
@Livid #39
是想表达在下穿 30 的时候建仓,然后「价格高于仓位 30%或多少价格就手动/自动化卖出」 or 「 RSI 上穿 70%自动化卖出」这样的策略是吗。
不设止损点,最多持仓 24h 。利用流动性+震荡策略交易,所以选择 SOL 这些流动性高的货币。
站长你是想分享这样的交易策略吗?学习了,感谢分享
yumizhao888
    70
yumizhao888  
   2024-04-18 12:09:32 +08:00 via iPhone
反者道之动
Sawyerhou
    71
Sawyerhou  
   2024-04-18 12:58:25 +08:00
@bmpidev2019 考虑三种情况发生的概率不同,因为收益钟形分布的存在,涨 10%或跌 10%发生次数少,大部分时候都是第三种情况,白交期权费。而且现实中期权卖的很贵,行权条件更难以达到。
anoyi
    72
anoyi  
   2024-04-18 14:19:23 +08:00
这个时候投资基金么?
skrlst
    73
skrlst  
   2024-04-18 15:22:07 +08:00
@paopjian 我也是
bmpidev2019
    74
bmpidev2019  
OP
   2024-04-18 15:46:39 +08:00 via iPhone
@Sawyerhou 测算了下,纳指 100 的期权不贵,保五万的多头仓位,只需要 700 多,按三倍杠杆的组合波动,一晚上都 1000-2000 刀没了,所以感觉挺划算。
Sawyerhou
    75
Sawyerhou  
   2024-04-19 08:11:06 +08:00 via Android
@bmpidev2019 你拿 bs 公式简单模拟一下就知道这定价贵不贵了,要是开 100 倍杠杆就显得更便宜了,但杠杆是开在头寸上的,不是你这么算的
bmpidev2019
    76
bmpidev2019  
OP
   2024-04-19 08:47:10 +08:00
@Sawyerhou 昨晚又算了下,的确不便宜,要降低头寸亏损,比如 10%下跌时开始保护,期权成本都占总仓位的 4%了,相当于就算头寸不涨也得亏 4%,这还是两个月到期的,远期的更贵一些
bmpidev2019
    77
bmpidev2019  
OP
   2024-04-19 08:48:19 +08:00
@bmpidev2019 主要是感觉期权的价格浮动非常夸张,经常两天价格变动 50%以上,本来很便宜的期权可能立马变得很贵,这估计是期权本身内在价值受外部影响因素过多导致的
Livid
    78
Livid  
MOD
   2024-04-19 11:52:44 +08:00   ❤️ 1
@zzzzzzZ

用 RSI 的 5m 或者 15m 或者 1h 的下穿 30 作为买入信号,或者 46 楼 @sb 的布林带下轨作为交易信号。

如果根据交易对特性,+1% 或者 +2% 的时候就可以卖。如果交易所支持 OTO ,那么卖价在下买单的时候就可以一起设置好,这样后续就不用管了。

但是:

遇到外部的极端事件的时候,这些交易信号可能是无效的,依然会导致被套,比如最近的两波和中东地区有关的事件。
Livid
    79
Livid  
MOD
   2024-04-19 12:03:24 +08:00   ❤️ 1
@zzzzzzZ 比如今天新闻出来的那一瞬间,这是 BTC 的 15m 图:



在 62000 左右的时候交易信号就会被触发,但是真正的底部在 59600 附近。
agdhole
    80
agdhole  
   2024-04-19 12:58:12 +08:00
我们项目也在做类似的东西,不过目标用户是频率更高的中短线用户,推出的量化策略也是更接近盘口的
agdhole
    81
agdhole  
   2024-04-19 12:59:52 +08:00
@agdhole 多均线或者其他的常见策略至少在加密货币的期货市场很难做,现货的话需要配合额外的策略在日线周线级别能抄到大底
bmpidev2019
    82
bmpidev2019  
OP
   2024-04-19 13:23:58 +08:00 via iPhone
@agdhole 这种日内的策略只能接入自动化交易了吧?
sb
    83
sb  
   2024-04-19 15:47:21 +08:00
@Livid #79 这种瀑布下跌的买点,是可以尽可能规避的。但是没有办法采用挂单式的交易模式,需要监控行情的 ticker 。我提供一种思路,供参考:
根据我的策略,我使用布林带下轨作为交易信号,但是当 k 线走到下轨指定目标时,我并不会进行买入。而是进行追踪,追踪的模式是反弹 n 次,反弹的比例是 x%。假设设定反弹 1 次,反弹比例 0.15%,那么大概率会在 61000 一代追踪完毕,进行买入。如果追踪的参数更苛刻,那么大概率会在第二根阳线 K 棒上买入。

然而这个思路在常规的震荡区间内,相对更不容易买入,因为常规的震荡插针下轨后里面就收上去了。不会进行二探或者三探。
zzzzzzZ
    84
zzzzzzZ  
   2024-04-19 16:07:12 +08:00
@Livid 感谢分享,我用欧易的策略配置了一下,15m 过去 30 天触发的次数是 46 次:[https://file.imgcc.cloud/images/2024/04/19/0e4c6afc67f1e790060249e32634c2b9.png]
5m 的次数是 119 次,1h 的次数是 13 次。三十天 13 次交易频率是不是不太好?

用 Tradingview 的策略测试器试过,默认的 RSI Strategy 策略太笨,我必须付费 tradingview 才能定制满意的策略信号吗?有什么好工具能分享吗?
[https://file.imgcc.cloud/images/2024/04/19/0e4c6afc67f1e790060249e32634c2b9.png]
moshiyeap100
    85
moshiyeap100  
   2024-04-19 18:03:44 +08:00
收到邮件了,获得了大佬 3 个月的试用名额,哈哈哈
jiandandkl
    86
jiandandkl  
   2024-04-20 10:48:04 +08:00
一个不成熟的想法,如果不是收年费,而是拿提成是否可行?一季度或一年为一个周期结算这样
0xLittleFi
    87
0xLittleFi  
   2024-04-20 17:35:31 +08:00
加 v 提示频繁,已经申请试用
bmpidev2019
    88
bmpidev2019  
OP
   2024-04-20 19:45:01 +08:00 via iPhone
@jiandandkl 并不合适,我只想做个订阅的工具,并不想做代客理财这种模式
@0xLittleFi 可以发邮件发你微信过来,今天好像就遇到这问题,我可以加人别人加不了我
djangovcps
    89
djangovcps  
   2024-04-22 09:52:24 +08:00
能不能自动化交易呢?
particlec
    90
particlec  
   2024-04-22 09:53:49 +08:00
我想问有没有应对插针的策略
agdhole
    91
agdhole  
   2024-04-22 09:57:55 +08:00
@bmpidev2019 #82 日内中高频周期 5m-1h ,在 5m 级别,手动有点费劲,但是如果是 30m 级别的手动还是能操作过来,会在收盘之前进行计算,这样能抢跑一点点。
wpzz
    92
wpzz  
   2024-04-23 10:45:28 +08:00
A 股居然有 8%收益,是实操吗。还是模拟盘
tinyzilan123
    93
tinyzilan123  
   2024-04-23 11:28:34 +08:00
这个可以连接券商 API 或者交易所 API 自动执行吗,否则只是发邮件可能会人为误判
bmpidev2019
    94
bmpidev2019  
OP
   2024-04-23 11:42:31 +08:00
@wpzz 模拟组合只是为了展示策略的表现,具体可以看官网页面的介绍,模拟组合已经考虑各种滑点流动性和佣金的问题了,尽可能模拟实盘交易的问题,因为是 ETF 所以流动性也没有问题,如果按照此交易计划,出入应该不大,我实盘也在验证,目前没遇到差别很大的问题。而且可以看看 A 股 2 号,收益显然更高。

@tinyzilan123 不做自动化交易,因为不是高频交易,也没有必要,ETF 就算自己操作也很简单,做自动化交易反而复杂了。
acczefly
    95
acczefly  
   2024-04-24 00:49:52 +08:00
都是高手,策略我挨个研究下。。。
huzhizhao
    96
huzhizhao  
   2024-04-24 14:24:54 +08:00
分开都能看得懂,组到一起啥都看不懂了😂
Krue
    97
Krue  
   2024-04-24 15:08:24 +08:00
@bmpidev2019 请问该怎么发您 v 呢,也是提示频繁
bmpidev2019
    98
bmpidev2019  
OP
   2024-04-24 19:23:07 +08:00
@Krue 直接给我发邮件就行,官网里有邮箱联系方式
wxsb466
    99
wxsb466  
   364 天前
@Livid 技术分析真的有效吗?
gtspytb
    100
gtspytb  
   361 天前
龙哥牛
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5229 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 42ms · UTC 07:31 · PVG 15:31 · LAX 00:31 · JFK 03:31
Developed with CodeLauncher
♥ Do have faith in what you're doing.