【微盘股择时】微盘股+尾盘择时==圣杯?最近365个交易日居然涨了1.5倍(就算不择时)
微盘股一直是收益率极高的领域,回撤控制好,感觉年化过50%其实是非常轻松的。所以我将在微盘股择时做一下深度研究,本期我们分享如何构建一个属于自己的指数,后面我将在这个基础上,进行择时研究,并验证效果。
同花顺微盘股指数



编制逻辑
200个票,不过滤ST, 等权。日频。

复现微盘股指数
- 每个策略都有个候选集,只看主板,严重失真,需要自定义一个自己的指数。
- 我们可以基于这个指数做很多择时方面的工作并加以验证效果。
1. 获取成分股
# 获取股票池
import datetime
import matplotlib.pyplot as plt
import pandas as pd
from tqdm import tqdm
from jqdata import *
from jqlib.technical_analysis import *
stockList = get_all_securities(types=['stock'], date=date)
stockList = list(stockList.index)2. 过滤成分股
def filter_new_stock(stockList, date, days=250):
res = []
date = datetime.datetime.strptime(date, "%Y-%m-%d")
for stock in stockList:
start_date = get_security_info(stock).start_date
if start_date < (date - datetime.timedelta(days=days)).date():
res.append(stock)
return res
def filter_st_stock(stockList, date):
st_data = get_extras('is_st', stockList, count=1, end_date=date)
res = []
for stock in stockList:
if not st_data[stock][0]:
res.append(stock)
return res
def filter_kcb_stock(stockList):
res = []
for stock in stockList:
if stock[0] != '4' and stock[0] != '8' and stock[:2] != '68':
res.append(stock)
return res
def filter_cyb_stock(stockList):
res = []
for stock in stockList:
if stock[0] != '3':
res.append(stock)
return res
def filter_paused_stock(stockList, date):
df = get_price(stockList, end_date=date, frequency='daily', fields=['paused'], count=1, panel=False, fill_paused=True, skip_paused=False)
df = df[df['paused'] == 0]
res = list(df.code)
return res3. 拉市值最小的200只作为候选持仓
q = query(valuation.code,valuation.market_cap).filter(
valuation.code.in_(stockList)
).order_by(valuation.market_cap.asc()).limit(200)
df = get_fundamentals(q, date=yesterday)4. 计算当日等权收益率
df["ret"] = df["close"]/ df["pre_close"] - 1
res = df["ret"].mean()5. 计算净值曲线
df['nav'] = (1 + df['daily_return']).cumprod()6. 绘制净值曲线
plt.figure(figsize=(10, 6))
plt.plot(df['date'], df['nav'])
plt.title('累计净值曲线(初始净值=1)', fontsize=16, pad=20)
plt.xlabel('日期', fontsize=12)
plt.ylabel('累计净值', fontsize=12)
plt.grid(True, linestyle='--', alpha=0.7)
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()
完整的实战量化类代码(可直接实盘)在星球里直接下载



