Python量化交易入门:环境搭建、双均线策略与回测风控
我做量化这些年最大的感触是很多人以为量化交易就是“写个策略然后躺着赚钱”但真正跑通完整流程之后才发现它更像一套“把想法变成规则、把规则变成代码、把代码放进历史数据里反复拷问”的工程方法。这篇文章就是写给刚开始接触Python量化交易的朋友我会把从环境搭建、数据获取、第一个策略、回测框架到风险控制的全过程拆开来讲也会把新手最容易踩的坑直接摆在你面前。文章不承诺任何收益只讲技术流程和工程思路。1. 量化交易到底解决什么问题1.1 先给量化交易卸个妆量化交易听起来高深本质上就是一件事把你的交易想法写成一套明确、可执行的规则然后用历史数据去验证这套规则靠不靠谱最后让程序按规则自动执行。手工交易最大的问题是“不统一”。同样是看到一根大阳线心情好的时候你觉得要追涨心情差的时候你又觉得是诱多同一个信号在不同时间会做出完全不同的决定。量化交易就是把这种模糊的判断变成硬性规则比如“当短期均线上穿长期均线时买入下穿时卖出”然后让历史数据告诉我们这条规则在过去到底赚不赚钱。有人问我量化交易是不是一定能赚钱我的回答是量化交易不能消除亏损但它能把亏损变成可计算、可控制、可复盘的东西。亏钱不可怕可怕的是不知道为什么亏、亏得没有规律。量化至少让你每一步都有据可查。1.2 为什么偏偏是Python市面上不是只有Python能做量化但Python几乎成了这个圈子的默认语言。原因并不复杂。第一数据处理生态成熟。量化交易的核心工作是对大量历史行情数据做清洗、计算和统计而Python的pandas、numpy这套数据工具链经过了十几年打磨处理表格数据、时间序列数据非常顺手。你用Excel处理几千行数据还能忍受但一旦面对上万行、上百个字段的行情数据Excel根本跑不动。第二开发和验证的迭代速度快。量化策略研究的常态是“快速试错”一个想法能不能成立先用历史数据跑一遍再说。Python的语法灵活写一个策略原型可能只需要几十行代码改参数、改逻辑的成本很低。相比之下用C做这类探索性工作光编译和内存管理就能消耗掉大量时间。第三社区和周边工具足够丰富。从行情数据接口、回测框架到机器学习库、券商交易接口Python生态里几乎都能找到现成方案。这意味着你不用从零造轮子可以把精力集中在策略逻辑本身。至于那些说Python慢的确实在高频交易场景下Python不是首选但对绝大多数中低频策略而言Python的性能完全够用。量化交易比拼的从来不是谁的语言更快而是谁的逻辑更经得起推敲。1.3 开始之前先确认自己准备好了写代码之前我想先泼一盆冷水。如果你Python基础还不牢连DataFrame切片都写不顺那建议先不要急着碰策略先把pandas基础补一补。不需要成为专家但下面这几个能力是底线能读懂常见的Python语法包括函数、类、列表推导式会用pandas读取CSV、按行按列筛选数据、计算滚动均值理解什么是K线、开盘价、收盘价、成交量理解均线的基本含义如果你这些基础都还没有硬着头皮写策略只会让你陷入“Bug和策略逻辑混在一起”的泥潭。哪怕策略思路是对的因为代码错误带来的错误结果也会让你对策略产生完全错误的判断。所以我的建议是先花一两周时间把Python和pandas的基础操作练熟再回来学量化。基础不牢后面每一步都会很痛苦。2. 搭一套本地开发环境三步走2.1 用虚拟环境隔离你的依赖很多初学者一上来就在全局环境里装库结果装的库多了之后版本冲突会让人非常头疼。比如某个库需要pandas 1.x另一个旧项目又锁死pandas 0.25互相覆盖之后之前能跑的代码突然就不能跑了。我建议你从最开始就养成用虚拟环境的习惯。具体做法很简单安装Miniconda一个轻量级Python环境管理工具然后创建一个独立的量化环境conda create -n quant python3.10 -y conda activate quant接着在这个环境里安装最基础的一批库pip install pandas numpy matplotlib backtrader这里我把要装的库控制在最少pandas负责数据处理numpy负责数值计算matplotlib负责画净值曲线backtrader是一个开源的回测框架后面我们会用到。等以后需要机器学习或者统计功能时再按需安装scikit-learn、statsmodels这些库而不是一次全部装上去。2.2 行情数据从哪里来这是新手问得最多的问题。我的建议是不要一上来就接实时行情或者券商接口先找一份历史日线数据用CSV文件把流程跑通。CSV是纯文本格式任何工具都能打开也没有平台依赖。一个标准的日线数据文件通常至少包含日期、开盘价、最高价、最低价、收盘价、成交量这几列。你可以从自己熟悉的行情软件里导出数据也可以在开源社区找一些免费的历史数据接口下载。这里想提醒一句数据源的稳定性和合规性一定要自己把关。很多免费接口过一段时间就会失效或者数据字段发生变化这是常态。我的习惯是把数据下载后先存成CSV放本地做策略分析时直接读本地文件不依赖实时网络这样既能保证数据一致也能避免接口波动干扰策略开发。读取CSV的代码很简单import pandas as pd df pd.read_csv(stock_daily.csv) df[date] pd.to_datetime(df[date]) df df.set_index(date).sort_index() print(df.head())把日期列转换成时间类型然后设为索引这一步很关键。因为后续所有的均线计算、收益率计算、回测逻辑都依赖“按时间顺序排列”和“时间索引对齐”如果日期没有解析成时间类型很多运算都会出错。2.3 拿到数据先做三件事不管是下载的数据还是自己导出的数据我都建议先做一遍体检再开始写策略。检查三个地方第一看缺失值。行情数据里出现NaN很常见尤其是停牌的日子。处理方式要根据情况来如果缺口很小可以直接删除如果像除权除息导致的价格跳空可能要结合复权数据一起处理。print(df.isna().sum())第二看数据范围。用df.describe()能看到每列的最小值、最大值、均值如果发现某天的收盘价是0或者负数这种脏数据必须清理否则均线计算会直接崩掉。第三看索引是否有序且无重复。重复日期会直接影响收益率计算排序错误会影响信号生成。用这个代码可以快速检查print(df.index.is_monotonic_increasing) print(df.index.duplicated().sum())这三步做完数据干净了后面写策略才不会莫名奇妙跑出离谱结果。3. 第一个策略从想法到代码3.1 为什么第一策略选双均线双均线策略是我推荐给所有新手的第一个策略。不是因为它能稳定赚钱而是因为它足够简单能让你把“策略思路、数据处理、信号生成、回测评估”这条完整链路跑通。双均线的逻辑很直白分别计算短期均线和长期均线当短期均线从下往上穿过长期均线时说明短期趋势转强产生买入信号这就是所谓的“金叉”当短期均线从上往下跌破长期均线时说明短期趋势转弱产生卖出信号这就是“死叉”。比如我们可以用5日均线代表短期趋势用20日均线代表长期趋势。5日均线反映最近一周的平均价格20日均线反映最近一个月的平均价格。短期均线突破长期均线可以理解为“最近的价格涨势已经超过了更长周期的平均成本”市场情绪偏多。3.2 手把手写信号生成不要栽在未来函数上下面这段代码就是完整的双均线信号生成df[sma_short] df[close].rolling(window5).mean() df[sma_long] df[close].rolling(window20).mean() df[signal] 0 df.loc[df[sma_short] df[sma_long], signal] 1 df.loc[df[sma_short] df[sma_long], signal] -1 df[position] df[signal].shift(1)这里的sma_short是5日均线sma_long是20日均线。当短期均线大于长期均线时我们把信号标记为1表示“看多”反过来标记为-1表示“看空”。注意最后一行df[signal].shift(1)。这行代码极其重要也是新手最容易漏掉的地方。为什么需要shift(1)因为你在计算当天的均线时用的已经是当天的收盘价。如果当天收盘价上穿均线你当天就给信号、当天就持仓这在回测里等于“用当天收盘价的信息按当天收盘价成交”现实中根本做不到。更合理的假设是当天收盘后确认信号第二天开盘再执行交易。所以要把信号向后平移一天让策略实际持仓从信号出现的后一天才开始。没有这行代码你的回测结果会异常漂亮因为它“偷看”了未来。这就是量化里常说的未来函数也是绝大多数人回测好看、实盘翻车的第一大原因。3.3 手动计算净值曲线给策略打分有了持仓信号接下来计算策略的每日收益率df[daily_return] df[close].pct_change() df[strategy_return] df[position] * df[daily_return] df[strategy_net] (1 df[strategy_return]).cumprod() df[benchmark_net] (1 df[daily_return]).cumprod()pct_change()计算的是每个交易日相对前一天的涨跌幅。position等于1的日子策略就完全跟随涨幅等于-1的日子策略收益就是负的当日涨跌幅也就是做空的意思。cumprod()是把每天的收益率累乘起来得到一条净值曲线。strategy_net是策略的净值benchmark_net是单纯买入持有不动或者按某指数计算的基准净值。有了这两条曲线你就可以直观地看到自己的策略到底有没有跑赢“什么都不做”。跑完这20行代码恭喜你已经完成了一个最简单策略从数据到评估的完整闭环。接下来要做的是把这个流程搬进一个更规范的回测框架里。4. 回测框架与评估指标真的会看结果比会写代码更重要4.1 手写回测和框架回测的差别上面我们手工计算的净值曲线本质上就是一种最简单的向量化回测。它的优点是简单直接但缺点是它过于理想化不考虑手续费、滑点、成交限制、资金约束也不方便处理复杂的下单逻辑。如果只是验证一个粗略的想法向量化回测够用了。但如果你想认真研究策略我建议切换到一个规范的回测框架。backtrader是社区里比较经典的开源回测框架它把交易流程里的很多细节都考虑进去了手续费、滑点、分批下单、仓位管理、多数据源支持等而且通过事件驱动的方式模拟交易流程更接近真实交易环境。4.2 用backtrader跑一遍双均线策略下面这段是backtrader的极简示例逻辑和前面完全一致import backtrader as bt class DualSMA(bt.Strategy): params ((short_window, 5), (long_window, 20),) def __init__(self): self.sma_short bt.indicators.SimpleMovingAverage( self.data.close, periodself.params.short_window) self.sma_long bt.indicators.SimpleMovingAverage( self.data.close, periodself.params.long_window) self.crossover bt.indicators.CrossOver(self.sma_short, self.sma_long) def next(self): if not self.position: if self.crossover 0: self.buy() elif self.crossover 0: self.close() cerebro bt.Cerebro() data bt.feeds.GenericCSVData( datanamestock_daily.csv, dtformat%Y-%m-%d, datetime0, open1, high2, low3, close4, volume5, openinterest-1, ) cerebro.adddata(data) cerebro.addstrategy(DualSMA) cerebro.broker.setcash(100000.0) cerebro.broker.setcommission(commission0.001) print(初始资金: %.2f % cerebro.broker.getvalue()) cerebro.run() print(期末资金: %.2f % cerebro.broker.getvalue())这段代码的核心逻辑在next方法里。self.crossover 0表示短期均线刚刚上穿长期均线也就是金叉self.crossover 0表示死叉。没有持仓的时候出现金叉就买入持有仓位时出现死叉就卖出。setcommission设置的是手续费比例这里设的是0.1%。这个参数一定要设因为真实交易中手续费和滑点会直接影响策略收益忽略这些成本会严重高估策略表现。4.3 评估指标怎么看别被高收益冲昏头回测跑完之后backtrader会输出期末资金。但只看期末资金远远不够必须看几个核心指标。最大回撤是最重要的风险指标。它表示从净值最高点到之后最低点的最大跌幅。打个比方100万本金亏到50万最大回撤就是50%而之后要从50万赚回100万需要涨100%。回撤越大把你的账户拖入深渊的难度就越大所以回撤必须优先关注。年化收益率和最大回撤配合起来看才有意义。一个年化20%、最大回撤5%的策略远比年化40%、最大回撤50%的策略更值得重视。夏普比率衡量的是“每承担一单位风险能换来多少超额回报”。简化的计算方法是策略收益率减去无风险利率再除以策略收益率的波动率。夏普比率大于1算勉强及格大于2就算很理想了。要注意的是夏普比率在数据跨度短、波动率异常时参考价值有限不能唯指标论。胜率和盈亏比是另一个维度。胜率表示盈利交易笔数占总交易笔数的比例盈亏比表示平均盈利金额与平均亏损金额的比值。胜率低不要紧只要盈亏比足够高策略仍然可能赚钱反过来胜率很高但每次赚一点点、亏起来亏很多这种策略长期很难活下去。这几个指标的重要性排序我的看法是最大回撤大于年化收益夏普比率大于胜率。先保证策略不会让你亏穿再谈赚多少。5. 风险与资金管理先活下来再谈盈利5.1 回测赚钱实盘为什么亏钱很多人把回测结果直接当作实盘预期这是最大的误区。回测和实盘之间有四个主要的“摩擦成本”滑点。回测默认你按收盘价或者信号价格成交但真实市场的买一卖一价差和订单冲击会让你的实际成交价永远比预期更差一点。流动性越差的品种滑点越严重。手续费。每一笔交易都要交手续费如果是股票交易卖出还要交印花税。每次交易成本看似不高但策略交易频率一高复利效应下成本会非常惊人。成交限制。回测里信号出现了就能成交但现实中可能遇到一字涨停买不进、一字跌停卖不出的情况尤其在小盘股上这个问题非常突出。心态变化。回测时面对的是曲线实盘时面对的是真金白银的波动。浮亏30%的时候很少人能淡定地继续按规则交易而一旦中途放弃规则回测就彻底失效了。我的建议很朴素任何策略在上实盘之前先按“回测收益打个五折、回撤放大一倍”的心理预期去做压力测试。如果打折后你仍然能接受再考虑实盘。5.2 仓位管理单笔风险控制在总资金的2%以内仓位管理的方法很多但新手最容易犯的错误是“一把梭”。满仓交易最大的问题是连续几次亏损之后本金快速缩水心态崩溃后续所有的策略执行都会变形。我推荐一套最简单也最通用的做法单笔风险不超过总资金的2%。这里的“风险”不是指投入的仓位大小而是指“如果这笔交易止损亏损金额占总资金的比例”。举个例子你总资金10万元单笔风险设为2%也就是单笔最多亏2000元。假设某笔交易入场价是50元止损价是48元每股亏损2元那么最大买入数量就是2000除以2等于1000股。这样即使连续亏损5笔总亏损也只有10%账户仍然有足够的底气继续执行策略。计算公式写成Python就是total_capital 100000 risk_per_trade 0.02 entry_price 50 stop_loss_price 48 risk_amount total_capital * risk_per_trade max_shares int(risk_amount / (entry_price - stop_loss_price)) print(max_shares)很多人喜欢用凯利公式计算仓位觉得它能最大化长期增长率。但凯利公式要求你对胜率和盈亏比有相当准确的估计而策略的这两个参数本身就不稳定用不准确的参数去套凯利公式结果往往比固定比例仓位更危险。对新手来说固定比例仓位的稳定性比理论最优更重要。5.3 过拟合最容易自我欺骗的环节做策略研究时有一个极其常见的陷阱反复调整参数直到回测曲线变得非常漂亮。比如双均线策略你不断尝试5日和20日、10日和30日、8日和26日最终挑出一组让历史回测收益最高的参数。这看起来像是在“优化策略”实际却是在“让策略背诵历史答案”。量化圈有一句话说得很直白对历史数据解释得越完美对未来的预测能力往往越差。因为市场数据里有大量噪声参数优化过度时策略学到的是噪声模式而不是真实规律。防止过拟合有几个笨但有效的办法。第一把数据分成两段一段叫样本内数据用来开发策略和调整参数另一段叫样本外数据用来做最终验证。如果策略在样本外数据上表现严重退化说明策略本身就是过拟合的。第二减少参数数量。参数越少策略的“自由度”越低过度适配历史的可能性越小。第三做参数稳定性检验比如把均线周期改成7日和22日或者4日和19日看策略收益是否发生了剧烈变化。如果参数稍微一动结果就从赚钱变成亏钱这个策略基本不可信。6. 新手最常踩的坑问题排查速查表6.1 数据文件里的隐形炸弹我在带新人时发现回测结果越离谱比如年化百分之几百问题往往不在策略而在数据。复权问题是最常见的坑。股票分红送股之后股价会跳空如果不复权K线上会出现虚假的巨大跌幅均线计算也会有偏差。前复权保证历史价格信号与当前价格衔接平滑适合看盘和技术分析后复权则更适合计算真实的收益率。关键是要保证整个回测过程统一用一种复权方式不要混用。停牌日和涨跌停日也会制造假信号。停牌期间没有成交成交量是0但很多数据接口会把价格填成停牌前一天的数值。而一字涨停的时候你回测里可以成交现实中根本买不进去。这些异常值如果不在数据清洗阶段处理掉回测结果会非常失真。这里整理了一张常见数据问题排查表异常现象可能原因检查方式某天收益率异常大未复权导致跳空检查当日价格是否连续成交量出现大量0停牌或数据缺失查看成交量最小值日期索引重复数据源合并错误duplicated().sum()收盘价为负数据解析错误describe()查看min6.2 代码逻辑里的经典Bug回测代码的Bug往往不会直接报错而是悄悄让结果失真。下面这几个是我见过最高频的问题。第一个是未来函数。前面已经强调过信号当天产生、当天成交在回测里属于“偷看未来”。所有决策和成交之间至少要留出一个时间间隔比如信号次日执行。第二个是持仓与收益率的错位。如果你用position和当天的daily_return相乘必须保证position是“当天开盘时实际持有的状态”所以要处理shift的问题。不少人把signal和signal.shift(1)搞混导致持仓信号和收益率方向错位一天造成结果失真。第三个是链式赋值的隐患。在pandas里不要用df[df[close]10][signal] 1这种方式给DataFrame赋值它会触发链式赋值的警告赋值结果有时能生效有时不能。正确写法是df.loc[df[close]10, signal] 1。6.3 实盘衔接的系统性问题从回测走向实盘还有一堆工程化问题。比如实盘API的网络断线重连程序崩溃后的重启机制交易日志的记录策略信号的持久化等等。这些不属于“策略问题”但每一个都可能让实盘中执行结果和回测产生巨大偏差。我见过不少人回测跑得很顺实盘第一天就亏在程序逻辑上漏单、重复下单、行情源延迟导致信号错误。所以我强烈建议实盘之前至少先跑一段时间模拟盘让程序在真实行情下连续运行确认下单、撤单、持仓更新这些环节都稳定了再考虑投入真金白银。在这些工程问题确认之前不要轻易把实盘当“验证工具”。程序本身不稳定的时候你根本分不清亏钱是因为策略错了还是因为代码错了。做量化交易这几年我越来越觉得写策略代码只是其中一小部分真正花时间的地方在于数据清洗、指标分析、风险控制和反思复盘。Python给我的最大价值不是让我找到一个稳赚的公式而是逼着我用一种有纪律、可验证的方式去面对市场。如果你刚开始走这条路我建议你先跑通双均线这个完整流程把环境、数据、回测、评估每一个环节都亲手过一遍先别急着追求高收益先让自己拥有一套可信的验证方法和健康的风险习惯。这套基本功建立起来之后后面研究任何新策略你都会觉得从容很多。

相关新闻

Vue智慧水务系统源码拆解:可视化大屏与实时监测实践

Vue智慧水务系统源码拆解:可视化大屏与实时监测实践

简介:这是一份基于 Vue.js 开发的开源智慧水务系统前端工程,面向水务行业信息化开发者、前端工程师及正在学习 Vue 实战项目的读者。项目围绕水务监测、数据展示与后台管理场景,提供了完整可运行的页面组件与构建配置,适合直接部署…

2026/10/13 15:35:26 阅读更多 →
artcraft:数字时代的手工艺智能协作范式

artcraft:数字时代的手工艺智能协作范式

1. 项目概述:当“艺术”与“工艺”在数字时代重新握手 “artcraft”这个词乍看像一个生造词,但拆开来看——art是艺术,craft是工艺、手艺、匠作。它不是某个具体软件、平台或产品的官方命名,而是一种正在快速凝聚共识的创作范式&a…

2026/10/13 15:35:26 阅读更多 →
智能体能力单元(agent-skills)工程化实践指南

智能体能力单元(agent-skills)工程化实践指南

1. “agent-skills”不是新词,而是智能体能力体系的命名起点 “agent-skills”这个词组乍看像某个开源仓库名、技术文档里的小节标题,甚至有人第一反应是拼写错误——是不是该写成“agent skills”(带空格)?或者误打了…

2026/10/13 15:35:26 阅读更多 →

最新新闻

交互式 ER 图 + Schema 差异对比 + 迁移SQL生成:LibreDB Studio 数据库设计工作流完整实操

交互式 ER 图 + Schema 差异对比 + 迁移SQL生成:LibreDB Studio 数据库设计工作流完整实操

【免费下载链接】libredb-studio One browser tab for PostgreSQL, MySQL, Oracle, SQL Server, MongoDB, Redis, SQLite, Couchbase, ClickHouse, Druid, DuckDB, Turso and more. An open-source SQL IDE with SSO, audit trail and AI-assisted queries MIT licensed, with …

2026/10/13 16:18:31 阅读更多 →
EdgeClaw ClawXTool 八合一工具套件盘点:13 个工具覆盖安全审计与开发工作流

EdgeClaw ClawXTool 八合一工具套件盘点:13 个工具覆盖安全审计与开发工作流

人工智能AI Agent大模型Agent 记忆LLM 网关 【免费下载链接】EdgeClaw EdgeClaw: Edge-Cloud Collaborative Personal AI Assistant based on OpenClaw 项目地址: https://gitcode.com/gh_mirrors/ed/EdgeClaw 点击查看 免费下载 EdgeClaw ClawXTool 是 EdgeClaw&a…

2026/10/13 16:18:31 阅读更多 →
Pollinations 社区模型每日排行榜:从 Tinybird 统计、像素风渲染到 Discord 自动发布的完整流水线

Pollinations 社区模型每日排行榜:从 Tinybird 统计、像素风渲染到 Discord 自动发布的完整流水线

AI 应用媒体生成后端前端 【免费下载链接】pollinations Your Friendly Open-Source Gen-AI Platform 项目地址: https://gitcode.com/gh_mirrors/po/pollinations 点击查看 免费下载 本文围绕 pollinations 仓库中社区模型排行榜(community model lead…

2026/10/13 16:18:31 阅读更多 →
Farm 持久化缓存(Persistent Cache)完全指南:增量构建原理与配置实战

Farm 持久化缓存(Persistent Cache)完全指南:增量构建原理与配置实战

前端构建构建工具开发工具 【免费下载链接】farm Extremely fast Vite-compatible web build tool written in Rust 项目地址: https://gitcode.com/gh_mirrors/fa/farm 点击查看 免费下载 Farm 从 v0.14.0 起支持将编译结果持久化到磁盘,通过 compilat…

2026/10/13 16:18:31 阅读更多 →
MATLAB虹膜识别实战:从定位到匹配的完整链路与避坑指南

MATLAB虹膜识别实战:从定位到匹配的完整链路与避坑指南

简介:这份资源聚焦虹膜识别中的特征提取环节,面向正在学习生物特征识别、图像处理或准备相关课程设计的学生与开发者,帮助理解如何用2D-Gabor滤波器从归一化虹膜图像中提取二进制特征编码。压缩包共10个文件,约939KB,包…

2026/10/13 16:18:31 阅读更多 →
MySQL 4.0 实战指南:老版本环境搭建、避坑与迁移要点

MySQL 4.0 实战指南:老版本环境搭建、避坑与迁移要点

简介:《MySQL 4.0.pdf》是一份聚焦MySQL 4.0版本的开源关系型数据库参考资料,适合数据库管理员、后端开发人员及系统学习数据库原理的读者,用于理解经典版本的功能体系与运维思路。资源为单个PDF文件,压缩包仅334KB,内…

2026/10/13 16:17:31 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →