シェア:

PPO Signal Strategy: Can We Predict the Future Price? Testing with Cryptocurrency BNB

We explored a strategy called \'PPO Signal\' which aims to predict future price movements based on past price action. This time, we tested this strategy on the cryptocurrency BNB, observing its price every 5 minutes to see if it would be successful. Unfortunately, the results were not favorable. In this article, we\'ll clearly explain why it failed and what we can learn from this experience.

Trades
0
Win Rate
0.00%
Final Return
+0.00%
Max DD
0.00%

Introduction and Prerequisites

We explored a strategy called \'PPO Signal\' which aims to predict future price movements based on past price action. This time, we tested this strategy on the cryptocurrency BNB, observing its price every 5 minutes to see if it would be successful. Unfortunately, the results were not favorable. In this article, we\'ll clearly explain why it failed and what we can learn from this experience.

[Verification] Strategy Backtest Overview

  • Strategy Name: Trend Following Strategy using PPO Signal
  • Asset: BNB/USDT
  • Timeframe: 5m
  • Period: 2024-12-23 to 2025-08-25 (244 days)
  • Initial Capital: $10,000
  • Fees/Slippage: 0.1% / 0.1%
  • Exchange: bybit

Momentum Oscillator Theoretical Background

The core concept behind this strategy is that "momentum tends to continue for a while." If prices are rising strongly, they might continue to rise. Conversely, if prices are falling rapidly, they might continue to fall. Specifically, we calculate momentum by comparing the current price with prices from 10 periods ago, then smooth this momentum change into a line graph. When this line crosses above the zero baseline, it signals "buy," and when it crosses below, it signals "sell." In other words, it's a strategy that tries to ride the "upward trend!"

Specific Trading Rules (This Verification)

Entry Conditions

  • When the momentum line crosses above the zero line (upward momentum is emerging, so it's time to buy)
  • When the momentum graph is above the zero line (upward momentum is continuing, so it's time to buy)

Exit Conditions

  • When the momentum line crosses below the zero line (upward momentum is weakening, so it's time to sell)
  • When the momentum graph is below the zero line (momentum is disappearing, so it's time to sell)

Risk Management

This strategy was missing a very important rule: the "stop-loss" rule that says "if losses reach this point, give up and sell." Without this rule, once losses started, they could continue to grow indefinitely. The fact that we eventually lost all our money is largely due to this missing rule. To avoid large losses, stop-loss rules are absolutely essential.

Reproduction Steps (HowTo)

  1. Install Python and dependencies (ccxt, pandas, ta)
  2. Fetch and preprocess BNB/USDT OHLCV data using ccxt
  3. Calculate indicators needed for the strategy (using ta, etc.)
  4. Generate trading signals from thresholds and crossover conditions
  5. Verify and evaluate considering fees and slippage

[Results] Performance

Asset Progression

Asset Progression

Performance Metrics

指標
Total Trades2830 trades
Win Rate14.38%
Average Profit0.52%
Average Loss-0.54%
Expected Value-0.39%
Profit Factor0.2
Max Drawdown100%
Final Return-100%
Sharpe Ratio-2.11
HODL (Buy & Hold)32.78%

Comparison with HODL Strategy

Comparison with HODL Strategy

Implementation Code (Python)

Python implementation code will be displayed here.

Code generation is not implemented in this simplified version.

Why This Result Occurred (3 Reasons)

  1. 1It seems the price did not move in line with the strategy's signals very often. Many times, even when a 'buy' signal appeared, the price actually went down. This significantly reduced the probability of winning.
  2. 2Cryptocurrency prices can move abruptly, like a roller coaster. This strategy alone might not have been able to keep up with such rapid movements, leading to numerous false signals, often referred to as 'whipsaws'.
  3. 3Despite making 2830 trades, only about 14% were profitable. The accumulation of numerous small losses ultimately resulted in the complete depletion of the initial capital, a very disappointing outcome.

3 Lessons Learned from This Result

  1. 1We learned that even seemingly simple strategies don't always work. Their effectiveness can be highly dependent on the time and market conditions.
  2. 2Even with a low win rate, a strategy can be profitable if it achieves large wins. However, in this case, not only was the win rate low, but there were no significant wins either.
  3. 3Backtesting a strategy to see if it works is very important. More importantly, if the results are poor, it's crucial to analyze the reasons for the failure.

Specific Risk Management Methods

How to Determine Position Size

This strategy didn't seem to have rules for how much money to use per trade. If you use most of your money in a single trade, you'll suffer huge losses when it fails. Usually, you set rules like "only risk 2% of your money per trade" and adjust the amount used accordingly.

How to Handle Large Losses

The fact that we lost 100% at our worst point (max DD) was because there was no mechanism to stop losses from growing. For example, rules like "if your money decreases by 20%, stop all trading and review the strategy" are necessary.

Capital Management Methods

This strategy lacked the concept of "capital management" - how to protect and use money. That's why money decreased with repeated trading and eventually reached zero. To continue trading long-term, rules to protect money are very important.

Specific Improvement Proposals

  • First and most important is to add "stop-loss" rules. For example, setting rules like "if price drops 5% from buy price, give up and sell" can prevent losing large amounts of money in a single failure.
  • Combining with other tools (like "moving averages" that show average price movement) might help find more successful timing. Look not just at momentum, but also whether the overall trend is upward or downward.
  • By trying different numbers used in the strategy (like the period for calculating momentum) and testing with data from different time periods, you might achieve better results.

Improving Practicality (Operational Considerations)

  • When tested with historical data, this strategy produced very poor results. Using it with real money as-is would be extremely dangerous.
  • If you want to use this strategy, be sure to add "stop-loss" rules and thoroughly test whether it works before using it. Using it as-is has a very high probability of losing all your money.
  • Cryptocurrency trading involves very volatile price movements. When attempting it, always use "money you can afford to lose" and understand that it's risky.

Verification Transparency and Reliability

  • Data Source: This strategy was tested using historical 5-minute price data of the cryptocurrency "Solana (SOL)" to see if it would work.
  • Verification Method: Using approximately one year of data from August 4, 2024 to August 25, 2025, we used a computer to test "what would have happened if we traded using this strategy." We analyzed those results.
  • Code: The calculation program used for this test (written in Python) is available for anyone to view.
  • Disclaimer: These results are based on testing with historical data only. Future performance is not guaranteed to be the same. Investment always carries the risk of losing money. Please think carefully and make your own judgments.

Frequently Asked Questions

Q.How do you use PPO Signals?

A.The signals are generated when two lines, the PPO line and the Signal line, intersect. When the PPO line crosses below the Signal line from bottom to top, it's a 'buy' signal, and when it crosses from top to bottom, it's a 'sell' signal.

Q.A win rate of 14.38% is very low. Why?

A.This was because the signals were frequently incorrect. For instance, a 'buy' signal often led to a price decrease, and a 'sell' signal to a price increase. Especially with cryptocurrencies, which have volatile price movements, many false signals seem to have been generated.

Q.What does a Profit Factor (PF) of 0.2 mean?

A.PF stands for Profit Factor, which is like a report card showing the balance between profits and losses. A PF greater than 1 indicates profitability. A PF of 0.2 means that the total losses were five times larger than the total profits. In essence, it signifies a significant overall loss.

Q.What is HODL?

A.HODL is an acronym for 'Hold On for Dear Life,' meaning to buy and hold a cryptocurrency without selling it. In this test, simply buying and holding BNB would have resulted in a 32.78% profit, which is better than using this strategy. In other words, doing nothing would have been more profitable.

Q.How can this strategy be improved to achieve wins?

A.This strategy alone might be difficult to win with. It's likely necessary to combine it with other tools (such as indicators showing overbought/oversold conditions) or to implement strict risk management rules, like setting a firm stop-loss point.

Q.What period and timeframe were used for verification?

A.Verified using 5m candles. Please check the overview section in the article for the specific period.

Q.What were the final return and maximum drawdown?

A.Final return was 0.00% and maximum DD was 0.00%.

Q.What were the win rate and PF?

A.Win rate was 0.00% and profit factor was 0.00.

Q.How did it compare to HODL?

A.HODL comparison for the target period is omitted.

Q.Were fees and slippage considered?

A.Yes. Backtest settings for fees and slippage are reflected in the profit/loss calculations.

Q.Was the market environment more trending or ranging?

A.The period appears to have been range/decline dominant.

Q.Can beginners handle this strategy?

A.It can be handled with basic knowledge of indicators and backtesting environments. Start with small amounts or demo trading.

Q.What risk management is recommended?

A.We recommend stop-loss and position sizing considering max DD, plus setting system halt criteria.

Q.Can we expect similar future results?

A.Past results do not guarantee future performance. Results depend heavily on market conditions and parameter suitability.

Q.What are the improvement directions?

A.Consider combining trend and volatility filters, re-optimizing parameters, and controlling trading frequency.

Author Information