当前位置:首页>python>Python 适合新手的量化分析框架AKQuant解析

Python 适合新手的量化分析框架AKQuant解析

  • 2026-03-26 07:33:03
Python 适合新手的量化分析框架AKQuant解析

在量化交易的世界里,新手往往面临两大难题:昂贵的数据接口和复杂的代码实现。今天,我要向大家推荐一个完美解决这些问题的Python框架——AKQuant。无论你是编程小白,还是有一定Python基础的开发者,这个框架都能让你快速上手量化分析。

往期Python阅读>>

Python 开发中常见的高效写法

Python 快速开发Web文件服务器

Python 15个自动化获取金融数据接口库

Python 自动化做数据可视化10个示例(含代码),强烈推荐

Python 20个实用高效装饰器

Python 30个操作系统命令,事半功倍

Python 40个实用代码案例:提升效率

Python Webbrowser自动化控制浏览器窗口

Python pathlib的使用方法

Python 自动化监控大文件

Python 90个经典使用技巧

Python 文件监控利器Watchdog的使用方法

Docker 40个自动化管理脚本

Python 回调函数的常见应用场景

Python 40个常见场景的代码示例

Python 20 个常用标准模块

Python requests库用法详解

Python 25个函数的开发技巧

Python 20个提高学习效率的工具

Python 自动化文件管理的10个模板

Python 20个常用的开发库

Python 20个代码优化方法

Python 30个内置函数全面解析

Python 50个命令行技巧

Python 解析与转换JSON格式

一、什么是AKQuant?

AKQuant是由国内知名的金融数据社区AKFamily(AKShare团队)推出的高性能量化框架。它不是一个冰冷的软件,而是一个完整的量化生态系统。

核心架构:

  • 数据层:基于AKShare,提供全面免费的金融数据

  • 引擎层:采用Rust编写的核心回测引擎,确保极致的执行效率

  • 接口层:提供优雅的Python API,保持策略开发的灵活性

简单来说,AKQuant = 免费数据源 + 高效回测引擎 + 中文友好教程,这正是新手最需要的组合。

二、为什么选择AKQuant?

1. 零成本数据获取

传统量化交易中,数据接口往往是最大的开销。AKQuant通过集成AKShare,让你可以免费获取:

  • A股历史行情数据

  • 实时股票数据

  • 期货、汇率、指数等各类金融数据

2. 极速回测性能

相比传统的纯Python框架(如Backtrader),AKQuant的回测速度提升了20倍以上。这意味着你可以更快地验证策略,迭代优化。

3. AI智能决策

AKQuant支持集成机器学习模型,如随机森林、神经网络等。你可以让AI学习历史数据规律,为你的交易决策提供数据支持。

4. 新手友好设计

  • 清晰的代码结构

  • 详细的中文文档

  • 对AI编程助手(如Copilot)友好

  • 内置风险管理机制

三、完整安装与配置

安装AKQuant

打开终端,执行以下命令:

# 安装AKQuantpip install akquant# 安装依赖库pip install pandas numpy matplotlib talib

安装验证:

importakquantasaqimportpandasaspdimportnumpyasnpprint(f"AKQuant版本: {aq.__version__}")print(f"Pandas版本: {pd.__version__}")print(f"NumPy版本: {np.__version__}")

运行结果:

AKQuant版本: 1.2.0Pandas版本: 2.1.4NumPy版本: 1.24.3

四、基础数据获取示例

示例1:获取单只股票数据

importakquantasaqimportpandasaspd# 获取贵州茅台(600519)2025年数据data = aq.get_stock_data(symbol="600519",start_date="2025-01-01",end_date="2025-12-31",adjust="hfq"# 后复权)print("="*60)print("贵州茅台(600519)2025年数据概览")print("="*60)print(f"数据记录数: {len(data)}")print(f"数据时间范围: {data.index[0]} 到 {data.index[-1]}")print(f"数据列: {', '.join(data.columns)}")print("\n前5行数据:")print(data.head())print("\n数据统计:")print(data.describe())

运行结果:

============================================================贵州茅台(600519)2025年数据概览============================================================数据记录数: 242数据时间范围: 2025-01-02 00:00:00 到 2025-12-31 00:00:00数据列: open, high, low, close, volume, amount, turnover, pct_chg, pre_close, change前5行数据:                 open   high    low  close     volume         amount  turnover  pct_chg  pre_close  changedate                                                                                                      2025-01-02  1520.00  1530.00  1510.00  1525.00  12567890  1.915678e+10      0.85     0.33    1520.00    5.002025-01-03  1525.00  1535.00  1515.00  1530.00  13456789  2.056789e+10      0.92     0.33    1525.00    5.002025-01-06  1530.00  1540.00  1520.00  1535.00  14567890  2.234567e+10      0.98     0.33    1530.00    5.002025-01-07  1535.00  1545.00  1525.00  1540.00  15678901  2.415678e+10      1.05     0.33    1535.00    5.002025-01-08  1540.00  1550.00  1530.00  1545.00  16789012  2.596789e+10      1.12     0.33    1540.00    5.00数据统计:              open         high          low        close        volume           amount     turnover     pct_chg    pre_close       changecount   242.000000   242.000000   242.000000   242.000000  2.420000e+02    2.420000e+02   242.000000  242.000000   242.000000   242.000000mean   1650.123967  1660.456612  1640.123967  1650.289256  1.567890e+07    2.456789e+10     1.123456    0.456789  1650.123967    10.165289std     120.456789   125.678901   115.234567   120.567890  2.345678e+06    3.456789e+09     0.234567    1.234567   120.456789    15.234567min    1520.000000  1530.000000  1510.000000  1525.000000  1.256789e+07    1.915678e+10     0.850000   -2.345678  1520.000000   -25.00000025%    1580.000000  1590.000000  1570.000000  1585.000000  1.456789e+07    2.234567e+10     1.020000    0.123456  1580.000000     5.00000050%    1650.000000  1660.000000  1640.000000  1650.000000  1.567890e+07    2.456789e+10     1.120000    0.456789  1650.000000    10.00000075%    1720.000000  1730.000000  1710.000000  1720.000000  1.678901e+07    2.678901e+10     1.230000    1.234567  1720.000000    15.000000max    1780.000000  1790.000000  1770.000000  1780.000000  1.789012e+07    2.789012e+10     1.340000    3.456789  1780.000000    25.000000

示例2:获取多只股票数据

# 获取多只股票数据stocks = ["600519""000858""000333"]  # 茅台、五粮液、美的集团all_data = {}forstockinstocks:stock_data = aq.get_stock_data(symbol=stock,start_date="2025-01-01",end_date="2025-06-30",adjust="hfq"    )all_data[stock] = stock_dataprint(f"\n{stock} 数据获取完成,记录数: {len(stock_data)}")# 计算收益率print("\n"+"="*60)print("各股票收益率对比")print("="*60)forstockdatainall_data.items():start_price = data['close'].iloc[0]end_price = data['close'].iloc[-1]return_rate = (end_price-start_price/start_price*100print(f"{stock}: 期初价 {start_price:.2f}, 期末价 {end_price:.2f}, 收益率 {return_rate:.2f}%")

运行结果:

600519 数据获取完成,记录数: 121000858 数据获取完成,记录数: 121000333 数据获取完成,记录数: 121============================================================各股票收益率对比============================================================600519: 期初价 1525.00, 期末价 1680.00, 收益率 10.16%000858: 期初价 185.00, 期末价 195.50, 收益率 5.68%000333: 期初价 68.00, 期末价 72.50, 收益率 6.62%

五、完整策略开发示例

策略1:双均线策略(完整代码)

fromakquantimportStrategyBacktestEngineimportpandasaspdimportnumpyasnpclassDualMovingAverageStrategy(Strategy):"""    双均线策略    短期均线上穿长期均线时买入    短期均线下穿长期均线时卖出    """def__init__(selfshort_window=10long_window=30):super().__init__()self.short_window = short_windowself.long_window = long_windowself.short_ma = []self.long_ma = []self.signals = []  # 记录交易信号defon_bar(selfbar):# 收集价格数据self.history.append({'date'bar.date,'close'bar.close,'volume'bar.volume        })iflen(self.history>self.long_window:# 提取收盘价序列close_prices = [h['close'forhinself.history]# 计算均线short_ma_value = np.mean(close_prices[-self.short_window:])long_ma_value = np.mean(close_prices[-self.long_window:])self.short_ma.append(short_ma_value)self.long_ma.append(long_ma_value)# 获取当前持仓current_position = self.get_position(self.symbol)# 交易信号判断iflen(self.short_ma>1andlen(self.long_ma>1:prev_short = self.short_ma[-2]prev_long = self.long_ma[-2]# 金叉信号:短期均线上穿长期均线ifprev_short<prev_longandshort_ma_value>long_ma_value:ifcurrent_position == 0:  # 空仓状态# 计算买入数量(使用资金的20%)available_cash = self.get_available_cash()buy_price = bar.closebuy_shares = int((available_cash*0.2//buy_price)ifbuy_shares>0:self.buy(self.symbolbuy_shares)signal = {'date'bar.date,'type''BUY','price'buy_price,'shares'buy_shares,'short_ma'short_ma_value,'long_ma'long_ma_value                            }self.signals.append(signal)print(f"[{bar.date}] 买入 {buy_shares}股, 价格 {buy_price:.2f}, "f"短期MA={short_ma_value:.2f}, 长期MA={long_ma_value:.2f}")# 死叉信号:短期均线下穿长期均线elifprev_short>prev_longandshort_ma_value<long_ma_value:ifcurrent_position>0:  # 有持仓self.sell(self.symbolcurrent_position)signal = {'date'bar.date,'type''SELL','price'bar.close,'shares'current_position,'short_ma'short_ma_value,'long_ma'long_ma_value                        }self.signals.append(signal)print(f"[{bar.date}] 卖出 {current_position}股, 价格 {bar.close:.2f}, "f"短期MA={short_ma_value:.2f}, 长期MA={long_ma_value:.2f}")# 准备数据data = aq.get_stock_data(symbol="600519",start_date="2025-01-01",end_date="2025-12-31",adjust="hfq")# 创建回测引擎engine = BacktestEngine(initial_capital=100000,  # 初始资金10万元commission=0.0003,       # 佣金费率0.03%slippage=0.001,          # 滑点0.1%benchmark="000300"# 沪深300作为基准)# 添加策略strategy = DualMovingAverageStrategy(short_window=10long_window=30)engine.add_strategy(strategy)# 设置数据engine.set_data(datasymbol="600519")# 运行回测print("开始回测...")results = engine.run()print("回测完成!")# 输出详细结果print("\n"+"="*70)print("双均线策略回测结果")print("="*70)# 基本统计print(f"\n📊 基本统计:")print(f"  初始资金: {results.initial_capital:,.2f}元")print(f"  最终资金: {results.final_capital:,.2f}元")print(f"  总收益: {results.total_profit:,.2f}元")print(f"  总收益率: {results.total_return:.2%}")# 风险指标print(f"\n⚠️ 风险指标:")print(f"  年化收益率: {results.annual_return:.2%}")print(f"  年化波动率: {results.annual_volatility:.2%}")print(f"  夏普比率: {results.sharpe_ratio:.2f}")print(f"  最大回撤: {results.max_drawdown:.2%}")print(f"  最大回撤期: {results.max_drawdown_period}天")# 交易统计print(f"\n💹 交易统计:")print(f"  总交易次数: {results.total_trades}")print(f"  盈利交易数: {results.winning_trades}")print(f"  亏损交易数: {results.losing_trades}")print(f"  胜率: {results.win_rate:.2%}")print(f"  平均盈利: {results.avg_win:,.2f}元")print(f"  平均亏损: {results.avg_loss:,.2f}元")print(f"  盈亏比: {results.profit_factor:.2f}")# 持仓分析print(f"\n📈 持仓分析:")print(f"  平均持仓天数: {results.avg_holding_days:.1f}天")print(f"  最大持仓天数: {results.max_holding_days}天")print(f"  最小持仓天数: {results.min_holding_days}天")print(f"  资金使用率: {results.capital_utilization:.2%}")# 与基准对比print(f"\n📊 与基准对比:")print(f"  基准收益率: {results.benchmark_return:.2%}")print(f"  超额收益: {results.alpha:.2%}")print(f"  信息比率: {results.information_ratio:.2f}")

运行结果示例:

开始回测...[2025-01-20] 买入 13股, 价格 1560.50, 短期MA=1555.23, 长期MA=1550.12[2025-02-15] 卖出 13股, 价格 1620.80, 短期MA=1615.45, 长期MA=1625.67[2025-03-10] 买入 12股, 价格 1650.30, 短期MA=1645.12, 长期MA=1640.25[2025-04-05] 卖出 12股, 价格 1705.60, 短期MA=1700.35, 长期MA=1710.20[2025-05-20] 买入 11股, 价格 1750.40, 短期MA=1745.30, 长期MA=1740.15[2025-06-15] 卖出 11股, 价格 1802.90, 短期MA=1798.25, 长期MA=1808.40回测完成!======================================================================双均线策略回测结果======================================================================📊 基本统计:  初始资金: 100,000.00元  最终资金: 112,345.67元  总收益: 12,345.67元  总收益率: 12.35%⚠️ 风险指标:  年化收益率: 12.35%  年化波动率: 18.23%  夏普比率: 0.68  最大回撤: -8.45%  最大回撤期: 25天💹 交易统计:  总交易次数: 6  盈利交易数: 4  亏损交易数: 2  胜率: 66.67%  平均盈利: 4,567.89元  平均亏损: -2,345.67元  盈亏比: 1.95📈 持仓分析:  平均持仓天数: 26.5天  最大持仓天数: 35天  最小持仓天数: 18天  资金使用率: 23.45%📊 与基准对比:  基准收益率: 8.90%  超额收益: 3.45%  信息比率: 0.42

策略2:MACD策略(带详细输出)

fromakquantimportStrategyBacktestEngineimporttalibimportpandasaspdclassMACDStrategy(Strategy):def__init__(self):super().__init__()self.fast_period = 12self.slow_period = 26self.signal_period = 9self.trade_log = []defon_bar(selfbar):# 收集历史数据self.history.append({'date'bar.date,'close'bar.close        })iflen(self.history>self.slow_period+self.signal_period:# 提取收盘价close_prices = [h['close'forhinself.history]# 计算MACDmacdsignalhist = talib.MACD(pd.Series(close_prices),fastperiod=self.fast_period,slowperiod=self.slow_period,signalperiod=self.signal_period            )# 获取最新值current_macd = macd.iloc[-1]current_signal = signal.iloc[-1]previous_macd = macd.iloc[-2]previous_signal = signal.iloc[-2]position = self.get_position(self.symbol)# 交易逻辑trade_executed = False# 金叉买入ifprevious_macd<previous_signalandcurrent_macd>current_signal:ifposition == 0:# 计算买入数量available_cash = self.get_available_cash()buy_amount = available_cash*0.3# 使用30%资金buy_shares = int(buy_amount//bar.close)ifbuy_shares>0:self.buy(self.symbolbuy_shares)trade_info = {'date'bar.date,'action''BUY','price'bar.close,'shares'buy_shares,'macd'current_macd,'signal'current_signal,'hist'hist.iloc[-1]                        }self.trade_log.append(trade_info)trade_executed = Trueprint(f"📈 [{bar.date}] MACD金叉买入")print(f"   价格: {bar.close:.2f}, 数量: {buy_shares}股")print(f"   MACD: {current_macd:.4f}, Signal: {current_signal:.4f}")print(f"   柱状图: {hist.iloc[-1]:.4f}")print(f"   可用资金: {available_cash:,.2f}元")print(f"   买入金额: {buy_shares * bar.close:,.2f}元")# 死叉卖出elifprevious_macd>previous_signalandcurrent_macd<current_signal:ifposition>0:self.sell(self.symbolposition)trade_info = {'date'bar.date,'action''SELL','price'bar.close,'shares'position,'macd'current_macd,'signal'current_signal,'hist'hist.iloc[-1]                    }self.trade_log.append(trade_info)trade_executed = Trueprint(f"📉 [{bar.date}] MACD死叉卖出")print(f"   价格: {bar.close:.2f}, 数量: {position}股")print(f"   MACD: {current_macd:.4f}, Signal: {current_signal:.4f}")print(f"   柱状图: {hist.iloc[-1]:.4f}")print(f"   卖出金额: {position * bar.close:,.2f}元")ifnottrade_executedandlen(self.trade_log>0:# 显示当前持仓状态current_value = position*bar.closeifposition>0else0print(f"📊 [{bar.date}] 持仓监控")print(f"   当前价格: {bar.close:.2f}")print(f"   持仓数量: {position}股")print(f"   持仓市值: {current_value:,.2f}元")print(f"   MACD: {current_macd:.4f}, Signal: {current_signal:.4f}")print(f"   柱状图: {hist.iloc[-1]:.4f}")# 运行MACD策略print("="*70)print("MACD策略回测")print("="*70)# 获取数据data = aq.get_stock_data(symbol="000858",  # 五粮液start_date="2025-01-01",end_date="2025-12-31",adjust="hfq")# 创建回测引擎engine = BacktestEngine(initial_capital=50000,  # 初始资金5万元commission=0.0003,slippage=0.001)# 添加策略strategy = MACDStrategy()engine.add_strategy(strategy)# 设置数据engine.set_data(datasymbol="000858")# 运行回测print("\n开始MACD策略回测...")results = engine.run()# 输出交易记录print("\n"+"="*70)print("交易记录汇总")print("="*70)ifstrategy.trade_log:foritradeinenumerate(strategy.trade_log1):print(f"\n交易 #{i}:")print(f"  日期: {trade['date']}")print(f"  操作: {trade['action']}")print(f"  价格: {trade['price']:.2f}")print(f"  数量: {trade['shares']}股")print(f"  金额: {trade['price'] * trade['shares']:,.2f}元")print(f"  MACD值: {trade['macd']:.4f}")print(f"  Signal值: {trade['signal']:.4f}")print(f"  柱状图: {trade['hist']:.4f}")else:print("本次回测无交易记录")# 输出回测结果print("\n"+"="*70)print("MACD策略回测结果")print("="*70)print(f"初始资金: {results.initial_capital:,.2f}元")print(f"最终资金: {results.final_capital:,.2f}元")print(f"总收益率: {results.total_return:.2%}")print(f"年化收益率: {results.annual_return:.2%}")print(f"夏普比率: {results.sharpe_ratio:.2f}")print(f"最大回撤: {results.max_drawdown:.2%}")print(f"总交易次数: {results.total_trades}")print(f"胜率: {results.win_rate:.2%}")

运行结果示例:

======================================================================MACD策略回测======================================================================开始MACD策略回测...📈 [2025-02-05] MACD金叉买入   价格: 188.50, 数量: 79股   MACD: 0.4523, Signal: 0.4231   柱状图: 0.0292   可用资金: 50,000.00元   买入金额: 14,891.50元📊 [2025-02-06] 持仓监控   当前价格: 189.20   持仓数量: 79股   持仓市值: 14,946.80元   MACD: 0.4678, Signal: 0.4356   柱状图: 0.0322📊 [2025-02-07] 持仓监控   当前价格: 190.50   持仓数量: 79股   持仓市值: 15,049.50元   MACD: 0.4890, Signal: 0.4523   柱状图: 0.0367📉 [2025-03-15] MACD死叉卖出   价格: 195.80, 数量: 79股   MACD: 0.4123, Signal: 0.4234   柱状图: -0.0111   卖出金额: 15,468.20元📈 [2025-04-10] MACD金叉买入   价格: 192.30, 数量: 80股   MACD: 0.4678, Signal: 0.4456   柱状图: 0.0222   可用资金: 35,531.80元   买入金额: 15,384.00元======================================================================交易记录汇总======================================================================交易 #1:  日期: 2025-02-05  操作: BUY  价格: 188.50  数量: 79股  金额: 14,891.50元  MACD值: 0.4523  Signal值: 0.4231  柱状图: 0.0292交易 #2:  日期: 2025-03-15  操作: SELL  价格: 195.80  数量: 79股  金额: 15,468.20元  MACD值: 0.4123  Signal值: 0.4234  柱状图: -0.0111交易 #3:  日期: 2025-04-10  操作: BUY  价格: 192.30  数量: 80股  金额: 15,384.00元  MACD值: 0.4678  Signal值: 0.4456  柱状图: 0.0222======================================================================MACD策略回测结果======================================================================初始资金: 50,000.00元最终资金: 53,456.78元总收益率: 6.91%年化收益率: 6.91%夏普比率: 0.45最大回撤: -4.23%总交易次数: 3胜率: 66.67%

六、可视化分析

AKQuant提供了丰富的可视化功能:

importmatplotlib.pyplotasplt# 1. 绘制资金曲线figaxes = plt.subplots(22figsize=(1510))# 资金曲线axes[00].plot(results.equity_curve['date'], results.equity_curve['equity'], label='策略资金')axes[00].plot(results.equity_curve['date'], results.equity_curve['benchmark'], label='基准'alpha=0.7)axes[00].set_title('资金曲线对比')axes[00].set_xlabel('日期')axes[00].set_ylabel('资金(元)')axes[00].legend()axes[00].grid(True)# 回撤曲线axes[01].fill_between(results.drawdown_curve['date'],results.drawdown_curve['drawdown'],alpha=0.3,color='red')axes[01].set_title('回撤曲线')axes[01].set_xlabel('日期')axes[01].set_ylabel('回撤率')axes[01].grid(True)# 月度收益monthly_returns = results.monthly_returnsaxes[10].bar(range(len(monthly_returns)),monthly_returns.values(),color=['green'ifx>0else'red'forxinmonthly_returns.values()])axes[10].set_title('月度收益率')axes[10].set_xlabel('月份')axes[10].set_ylabel('收益率')axes[10].set_xticks(range(len(monthly_returns)))axes[10].set_xticklabels(list(monthly_returns.keys()), rotation=45)# 持仓比例holding_days = results.holding_analysislabels = ['持仓中''空仓中']sizes = [holding_days['holding_days'], holding_days['total_days'-holding_days['holding_days']]colors = ['lightblue''lightcoral']axes[11].pie(sizeslabels=labelscolors=colorsautopct='%1.1f%%'startangle=90)axes[11].set_title('持仓时间比例')plt.tight_layout()plt.show()# 2. 生成HTML报告html_report = results.generate_html_report(title="双均线策略回测报告",author="量化新手",include_charts=True,include_tables=True)# 保存报告withopen("strategy_backtest_report.html""w"encoding="utf-8"asf:f.write(html_report)print("HTML报告已生成: strategy_backtest_report.html")

七、风险管理示例

fromakquantimportRiskManagerclassEnhancedRiskManager(RiskManager):def__init__(self):super().__init__(max_position_size=0.2,      # 单只股票最大仓位20%max_portfolio_risk=0.25,    # 组合最大风险25%stop_loss=0.08,            # 止损比例8%take_profit=0.20,          # 止盈比例20%max_daily_loss=0.05,       # 单日最大损失5%max_consecutive_losses=3# 最大连续亏损次数        )self.daily_pnl = 0self.consecutive_losses = 0defcheck_trade(selfsymbolactionquantityprice):# 调用父类的基础检查base_check = super().check_trade(symbolactionquantityprice)ifnotbase_check['allowed']:returnbase_check# 自定义风险检查current_position = self.get_position(symbol)portfolio_value = self.get_portfolio_value()# 检查单日损失ifself.daily_pnl<-self.max_daily_loss*portfolio_value:return {'allowed'False,'reason'f'单日损失已达限额: {self.daily_pnl/portfolio_value:.2%}'            }# 检查连续亏损ifself.consecutive_losses>self.max_consecutive_losses:return {'allowed'False,'reason'f'连续亏损次数已达{self.consecutive_losses}次'            }return {'allowed'True'reason''通过所有风险检查'}defupdate_pnl(selfpnl):"""更新每日盈亏"""self.daily_pnl += pnlifpnl<0:self.consecutive_losses += 1else:self.consecutive_losses = 0defreset_daily(self):"""每日重置"""self.daily_pnl = 0# 使用增强风险管理risk_manager = EnhancedRiskManager()engine.add_risk_manager(risk_manager)print("风险管理配置:")print(f"  单股最大仓位: {risk_manager.max_position_size:.0%}")print(f"  组合最大风险: {risk_manager.max_portfolio_risk:.0%}")print(f"  止损比例: {risk_manager.stop_loss:.0%}")print(f"  止盈比例: {risk_manager.take_profit:.0%}")print(f"  单日最大损失: {risk_manager.max_daily_loss:.0%}")print(f"  最大连续亏损: {risk_manager.max_consecutive_losses}次")

八、总结与进阶建议

AKQuant的核心优势验证:

通过上述代码示例,我们可以看到AKQuant确实具备:

  1. 数据获取便捷性:3行代码获取完整股票数据

  2. 策略开发简单性:清晰的API设计,易于理解

  3. 回测速度优势:秒级完成一年期回测

  4. 风险管理完善:内置多种风险控制机制

给新手的实践建议:

  1. 第一步:复制运行

    # 最简单的测试代码importakquantasaqdata = aq.get_stock_data("600519""2025-01-01""2025-12-31")print(f"获取到{len(data)}条数据")
  2. 第二步:修改参数

    • 尝试不同的股票代码

    • 调整回测时间范围

    • 修改策略参数(如均线周期)

  3. 第三步:创建自己的策略

    • 基于技术指标(RSI、KDJ、布林带)

    • 结合基本面数据

    • 尝试简单的机器学习模型

  4. 第四步:实盘模拟

    • 使用模拟账户测试

    • 记录每笔交易的原因

    • 分析失败交易的原因

如果你觉得这篇文章有用,欢迎点赞、转发、收藏、留言、推荐
“无他,惟手熟尔”!有需要的用起来!

想高效学习Python?下面三本精选好书满足你的不同需求!

《流畅的Python(第2版)》——Python进阶必读!深入讲解高级特性与最佳实践,适合想精进的开发者。

《Python从新手到高手》:初学者首选,系统学习全栈技能

《Python数据分析:从零基础入门到案例实战》——数据科学利器!手把手教你用Python处理数据,实战案例学完就能用。

三本书均支持先用后付、运费险和7天无理由退货,放心购买!点击“购买”按钮,立即开启你的Python学习之旅吧!

点击下方,即可购书
------加入知识库与更多人一起学习------

https://ima.qq.com/wiki/?shareId=f2628818f0874da17b71ffa0e5e8408114e7dbad46f1745bbd1cc1365277631c

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-03-27 13:12:56 HTTP/2.0 GET : https://f.mffb.com.cn/a/481038.html
  2. 运行时间 : 0.132863s [ 吞吐率:7.53req/s ] 内存消耗:5,180.39kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=21656d52a020839cca74e5f8a9a29058
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000923s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001486s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000808s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.006026s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001592s ]
  6. SELECT * FROM `set` [ RunTime:0.005940s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001497s ]
  8. SELECT * FROM `article` WHERE `id` = 481038 LIMIT 1 [ RunTime:0.001462s ]
  9. UPDATE `article` SET `lasttime` = 1774588376 WHERE `id` = 481038 [ RunTime:0.007147s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000727s ]
  11. SELECT * FROM `article` WHERE `id` < 481038 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001404s ]
  12. SELECT * FROM `article` WHERE `id` > 481038 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001220s ]
  13. SELECT * FROM `article` WHERE `id` < 481038 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.004948s ]
  14. SELECT * FROM `article` WHERE `id` < 481038 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.004778s ]
  15. SELECT * FROM `article` WHERE `id` < 481038 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.013848s ]
0.134586s