Skip to content

FQMarket 市场层

FQMarket 是市场分析的核心模块,包含策略系统、回测引擎、实时分析功能。

目录结构

FQMarket/FQMarket/
├── FQUtil/                          # 工具模块
│   ├── BBlock.py                   # 板块与主线分析
│   ├── CBaseData.py                # 基础数据类
│   ├── CConceptData.py             # 概念数据
│   ├── CDataDay.py                 # 日线数据
│   ├── CDataTick.py                # 分笔数据
│   ├── CExtentData.py              # 扩展数据
│   ├── CFactorData.py              # 因子数据
│   ├── CFutureData.py              # 期货数据
│   ├── CIndexData.py               # 指数数据
│   ├── CIndustryData.py            # 行业数据
│   ├── CMarket.py                  # 市场数据
│   ├── CRPSData.py                 # RPS数据
│   ├── CStockData.py               # 股票数据
│   ├── MonitorMarket.py            # 市场监控
│   ├── Parameter.py                # 参数配置
│   ├── Tools.py                    # 工具函数
│   ├── ToolsCRCData.py             # CRC数据校验
│   ├── ToolsCheckData.py           # 数据检查
│   ├── ToolsDBData.py              # 数据库工具
│   ├── ToolsGMI.py                 # GMI指标
│   ├── ToolsGetData.py             # 数据获取
│   ├── ToolsGetWebNews.py          # 网页新闻
│   ├── ToolsJianGuan.py            # 监管数据
│   ├── ToolsLhbData.py             # 龙虎榜数据
│   ├── ToolsRedisData.py           # Redis缓存
│   ├── ToolsSaveAkshare.py         # AkShare保存
│   ├── ToolsSaveData.py            # 数据保存
│   ├── ToolsSaveLocalData.py       # 本地数据保存
│   └── ToolsStrategyPools.py       # 策略池工具

├── StrategyPools/                    # 策略池 (55+策略)
│   ├── sp_*.py                     # 强势股/连板/量价策略
│   ├── bs_*.py                     # 买入策略
│   └── p_*.py                      # 其他策略

├── Simulate/                        # 回测系统
│   ├── CPoolsBase.py              # 基础类
│   ├── CPoolsSimulate.py           # 核心回测引擎
│   ├── CPools_Pools.py            # 股票池
│   ├── CPools_BuyStra.py          # 买入策略
│   ├── CPools_SellStra.py         # 卖出策略
│   ├── CPools_EmptyStra.py        # 空仓策略
│   ├── CPools_CleanStra.py        # 清仓策略
│   └── CPools_PositionStra.py     # 仓位管理

└── RealTime/                        # 实时分析
    └── CAnalysisRealTime.py        # 实时分析

核心功能

策略系统 StrategyPools

包含55+策略文件,分为以下类别:

类型数量示例
强势股策略15+sp_strong.py, sp_strong_con.py, sp_strong_long.py
量价策略10+sp_pricevol.py, sp_pricevol60.py, sp_kdjvol.py
连板策略8+sp_strdays_all.py, sp_strdays_con.py, sp_strdays_ins.py
相关性策略6+sp_corr.py, sp_spcorr.py, sp_strindcorrcon.py
买入策略4+bs_00000130.py, bs_00000160.py, bs_cfy01.py

回测系统 Simulate

详细文档请参考:Simulate 模块文档索引

基本使用

python
from FQMarket.Simulate.CPoolsSimulate import CPoolsSimulate

sim = CPoolsSimulate(
    code=['strong', 'backtest_001'],
    position_stra=['default_funds'],
    buy_stra=['buy_stra_base', [['open', 0, 5]]],
    sell_stra=['sell_stra_base', [0.05], [-0.06], [5]],
    empty_stra=None,
    clean_stra=['clean_no_code', None],
    pools_stra=None
)

sim.calunetvalue(
    start_date='2023-01-01',
    end_date='2023-12-31',
    renew=True
)

市场工具 FQUtil

提供市场数据分析的各类工具:

python
from FQMarket.FQUtil import (
    BBlock, MonitorMarket,
    ToolsGetData, ToolsLhbData,
    CMarket, CStockData,
)

# 板块与主线分析
bblock = BBlock()
main_blocks = bblock.get_main_block(date)

# 市场监控
monitor = MonitorMarket()
status = monitor.get_market_status()

实时分析 RealTime

python
from FQMarket.RealTime.CAnalysisRealTime import CAnalysisRealTime

analyzer = CAnalysisRealTime()
result = analyzer.analyze(code)

策略配置

买入策略

python
# 开盘价买入,允许涨停和超跌买入,允许ETF买入
buy_stra = ['buy_stra_base', [['open', 0., True, True, True]]]

# 收盘价买入
buy_stra = ['buy_stra_base', [['close', -0.01, False, True, False]]]

卖出策略

python
# 止盈5%,止损6%,持仓5天
sell_stra = ['sell_stra_base', [0.05], [-0.06], [5]]

# 开盘卖出策略
sell_stra = ['sell_stra_opensell', [-0.06, 1]]

空仓策略

python
# 默认不空仓
empty_stra = [['empty_no_code']]

# 基本空仓策略
empty_stra = [['empty_stra_base', -0.0159]]

仓位管理

python
# 默认仓位管理
position_stra = ['default_funds']

# 私募轮动仓位管理
position_stra = ['private_funds']

# 自定义仓位管理
position_stra = ['custom_funds', 50000, 500000, 10, True]

子模块文档