Let’s say you are trading E-mini S&P 500 futures.
// Simple Brokey-like check: flags bars with non-positive or NaN close
bad = (Close <= 0) OR IsNull(Close);
if (LastValue(Sum(bad, BarCount)) > 0)
printf("%s has %d bad bars\n", Name(), LastValue(Sum(bad, BarCount)));
If you are an AlgoTrader or a systematic trader using Amibroker, you know the golden rule: Your backtest is only as good as the data you feed it.
We have all been there. You run a backtest on a portfolio of stocks, and the equity curve looks like a straight line to the moon. You think you’ve found the "Holy Grail," only to realize later that the strategy is worthless. brokey for amibroker
Why? Because your data had holes in it.
Today, we are looking at a critical concept in the Amibroker community often referred to as "Brokey" (or the process of detecting broken/missing data keys). We will explore what it is, why it destroys trading strategies, and how to use Amibroker’s native tools to fix it. Let’s say you are trading E-mini S&P 500 futures
Interpretation:
Optimization (Parameters):
Even with Brokey, users make mistakes. Here are the top three:
To implement Brokey for AmiBroker, you need data. Here is where to find it: If you are an AlgoTrader or a systematic
| Provider | Delisted Coverage | Cost | AmiBroker Integration | | :--- | :--- | :--- | :--- | | Norgate Premium | Full history of delisted US stocks (1925+) | $39/mo | Native plugin | | CSI Data | Unadjusted master files | $29/mo | ASCII import | | Yahoo Finance (historical components) | Incomplete, requires manual scraping | Free | Via AmiQuote + Python | | Brokey Community GitHub | Crowdsourced lists of bankruptcies (2000-2020) | Free | CSV import |
Recommendation: Pay for Norgate if you are serious. It includes the “Delisted Flag” as a built-in field. Then, use Brokey scripts to handle the response to that flag.
Copyright(C)2024 psbc.com All Rights Reserved 中国邮政储蓄银行 版权所有 京ICP备07021605号
Mobile Bank
Wechat