from tqcenter import tq
import pandas as pd
tq.initialize(__file__)
# ========== 模式二:公式 → Python ==========
# Step 1: 获取全A股
codes = tq.get_stock_list(0)
# Step 2: 格式化数据
fmt = tq.formula_format_data(stock_list=codes, period='1d')
# Step 3: 喂给公式引擎
tq.formula_set_data(fmt)
tq.formula_set_data_info(period='1d', stock_type=1)
# Step 4: 批量调用MACD金叉选股公式
result = tq.formula_process_mul_xg(
stock_list=codes[:100], # 批量上限
formula_name='MACD金叉',
period='1d'
)
# Step 5: Python后处理
selected = [code for code, val in result.items() if val == 1]
print(f"MACD金叉选股结果: {len(selected)} 只")
# 进一步用Python过滤(结合基本面)
for code in selected:
info = tq.get_stock_info(stock_code=code, field_list=['Name','PE'])
if info.get('PE') and float(info['PE']) < 30:
print(f" {code} {info.get('Name')} PE={info['PE']}")