scanner-pmcc
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChinesePMCC Scanner
PMCC扫描器
Finds optimal Poor Man's Covered Call setups by scoring symbols on option chain quality.
通过对期权链质量进行评分,找到最优的PMCC配置方案。
What is PMCC?
什么是PMCC?
Buy deep ITM LEAPS call (delta ~0.80) + Sell short-term OTM call (delta ~0.20) against it. Cheaper alternative to covered calls.
买入深度ITM LEAPS看涨期权(delta ~0.80)+ 对应卖出短期OTM看涨期权(delta ~0.20),是备兑看涨期权的低成本替代方案。
Instructions
使用说明
Note: Ifis not installed oruvis not found, replacepyproject.tomlwithuv run pythonin all commands below.python
bash
uv run python scripts/scan.py SYMBOLS [options]注意: 如果未安装或找不到uv,请将下方所有命令中的pyproject.toml替换为uv run python。python
bash
uv run python scripts/scan.py SYMBOLS [options]Arguments
参数说明
- - Comma-separated tickers or path to JSON file from bullish scanner
SYMBOLS - - Minimum LEAPS expiration in days (default: 270 = 9 months)
--min-leaps-days - - Target LEAPS delta (default: 0.80)
--leaps-delta - - Target short call delta (default: 0.20)
--short-delta - - Save results to JSON file
--output
- - 逗号分隔的股票代码,或来自看涨扫描器的JSON文件路径
SYMBOLS - - LEAPS的最小到期天数(默认:270 = 9个月)
--min-leaps-days - - 目标LEAPS delta值(默认:0.80)
--leaps-delta - - 目标卖出看涨期权delta值(默认:0.20)
--short-delta - - 将结果保存到JSON文件
--output
Scoring System (max ~11 points)
评分系统(满分约11分)
| Category | Condition | Points |
|---|---|---|
| Delta Accuracy | LEAPS within ±0.05 | +2 |
| LEAPS within ±0.10 | +1 | |
| Short within ±0.05 | +1 | |
| Short within ±0.10 | +0.5 | |
| Liquidity | LEAPS vol+OI > 100 | +1 |
| LEAPS vol+OI > 20 | +0.5 | |
| Short vol+OI > 500 | +1 | |
| Short vol+OI > 100 | +0.5 | |
| Spread | LEAPS spread < 5% | +1 |
| LEAPS spread < 10% | +0.5 | |
| Short spread < 10% | +1 | |
| Short spread < 20% | +0.5 | |
| IV Level | 25-50% (ideal) | +2 |
| 20-60% | +1 | |
| Yield | Annual > 50% | +2 |
| Annual > 30% | +1 |
| 分类 | 条件 | 得分 |
|---|---|---|
| Delta准确度 | LEAPS在目标值±0.05范围内 | +2 |
| LEAPS在目标值±0.10范围内 | +1 | |
| 卖出期权在目标值±0.05范围内 | +1 | |
| 卖出期权在目标值±0.10范围内 | +0.5 | |
| 流动性 | LEAPS成交量+未平仓合约> 100 | +1 |
| LEAPS成交量+未平仓合约> 20 | +0.5 | |
| 卖出期权成交量+未平仓合约> 500 | +1 | |
| 卖出期权成交量+未平仓合约> 100 | +0.5 | |
| 价差 | LEAPS买卖价差 < 5% | +1 |
| LEAPS买卖价差 < 10% | +0.5 | |
| 卖出期权买卖价差 < 10% | +1 | |
| 卖出期权买卖价差 < 20% | +0.5 | |
| IV水平 | 25-50%(理想区间) | +2 |
| 20-60% | +1 | |
| 收益率 | 年化收益率> 50% | +2 |
| 年化收益率> 30% | +1 |
Output
输出结果
Returns JSON with:
- - Scan parameters used
criteria - - Array sorted by score:
results- ,
symbol,price,iv_pctpmcc_score - - expiry, strike, delta, bid/ask, spread%, volume, OI
leaps - - expiry, strike, delta, bid/ask, spread%, volume, OI
short - - net_debit, short_yield%, annual_yield%, capital_required
metrics
- - Symbols that failed (no options, insufficient data)
errors
返回JSON格式数据,包含:
- - 本次扫描使用的参数
criteria - - 按得分排序的结果数组:
results- ,
symbol,price,iv_pctpmcc_score - - 到期日、行权价、delta、买价/卖价、价差百分比、成交量、未平仓合约
leaps - - 到期日、行权价、delta、买价/卖价、价差百分比、成交量、未平仓合约
short - - 净支出、短期收益率、年化收益率、所需资金
metrics
- - 扫描失败的股票代码(无期权数据、数据不足)
errors
Examples
示例
bash
undefinedbash
undefinedScan specific symbols
扫描指定股票代码
uv run python scripts/scan.py AAPL,MSFT,GOOGL,NVDA
uv run python scripts/scan.py AAPL,MSFT,GOOGL,NVDA
Use output from bullish scanner
使用看涨扫描器的输出结果作为输入
uv run python scripts/scan.py bullish_results.json
uv run python scripts/scan.py bullish_results.json
Custom delta targets
自定义delta目标
uv run python scripts/scan.py AAPL,MSFT --leaps-delta 0.70 --short-delta 0.15
uv run python scripts/scan.py AAPL,MSFT --leaps-delta 0.70 --short-delta 0.15
Longer LEAPS (1 year minimum)
更长期限的LEAPS(最少1年到期)
uv run python scripts/scan.py AAPL,MSFT --min-leaps-days 365
uv run python scripts/scan.py AAPL,MSFT --min-leaps-days 365
Save results
保存结果
uv run python scripts/scan.py AAPL,MSFT,GOOGL --output pmcc_results.json
undefineduv run python scripts/scan.py AAPL,MSFT,GOOGL --output pmcc_results.json
undefinedKey Constraints
核心限制
- Short strike must be above LEAPS strike
- Options with bid = 0 (illiquid) are skipped
- Moderate IV (25-50%) scores highest
- 卖出期权行权价必须高于 LEAPS行权价
- 买价为0的期权(流动性不足)会被跳过
- 中等IV(25-50%)得分最高
Interpretation
结果解读
- Score > 9: Excellent candidate
- Score 7-9: Good candidate
- Score 5-7: Acceptable with caveats
- Score < 5: Poor liquidity or structure
- 得分> 9:极佳候选标的
- 得分7-9:良好候选标的
- 得分5-7:可接受,但存在限制
- 得分< 5:流动性差或结构不合理
Dependencies
依赖
numpypandasscipyyfinance
numpypandasscipyyfinance