哪个证券公司使用SUPERMIND资金要求比较少?知道的,告诉一下。 背景与目的 之前我们有了策略回测代码,到实盘要经过熟悉实盘API、写代码、调试代码的环节,大概还需要1-2周的时间才能实盘,有非常多的用户到这一步 会束手无策,甚至放弃! 现在,有了回测代码直接实盘的功能,可以省去这个步骤,让刚入门的朋友也可以直接拿回测代码进行实盘了。很棒!为我们的工程师点赞! 此外还新增了一些接口,方便实盘交易。 不断降低实盘的门槛是我们的目标,如果您有任何好的想法意见请随时留言! 本功能需要重启研究环境才能生效! 策略实盘交易(回测代码1分钟实盘) ?调用方法: research_trade( name, source_code, capital_base=100000, frequency='DAILY', stock_market='STOCK', benchmark=None, trade_api=None, signal_mode=True, dry_run=False, recover_dt=False, ) ?参数说明: name:str,策略名称,会在./persist/下生成一个同名目录,用于存放持久化的策略信息 source_code:str,策略代码,可从策略研究模块中直接复制,代码置于"""..."""中 capital_base: float,初始资金量 如果接入了TradeAPI对象,且 signal_mode=False,那么此参数无意义 frequency: str,策略频率,'DAILY'或'MINUTE' stock_market: str,策略类型,默认'STOCK' benchmark: str,基准指数 trade_api: TradeAPI对象,绑定需要仿真交易的资金账号 如果不传入TradeAPI对象,即 trade_api=None,此时为模拟交易 如果传入TradeAPI对象,此时为仿真交易 signal_mode: bool,(新增)默认为 True signal_mode=True,此时策略实际上运行的时初始资金为capital_base的模拟交易,context、get_orders等方法返回的结果均为模拟交易中计算的数据,与资金账号的数据无关;策略下单在模拟交易撮合成交后,才会通过trade_api下单至柜台 signal_mode=False,此时策略中context、get_orders等方法返回的结果均为从 柜台查询,策略下单也会直接下至柜台 dry_run: bool,试运行,立即返回,默认为 False recover_dt: bool或 str,(新增)是否断点运行,默认为 False recover_dt=False,从当前时点开始执行,不从断定运行 recover_dt=True,从上次策略结束时点开始运行 recover_dt='today',从当日开始运行,此模式下只会补执行 before_trading与 open_auction,handle_bar依旧从当前时间开始执行 recover_dt='yyyyMMdd HH:mm',从指定时间开始运行 ?️ 返回值: RealtimeService类 ?作用: 模拟交易:撮合机制与回测相同 仿真交易:通过仿真柜台撮合,更贴近真实交易环境 ❗注意事项: 策略需在9:00前开启运行,否则在未设置recover_dt的情况下,会跳过before_trading等步骤 初始化TradeAPI时需要指定下单策略order_policy,MarketPolicy为市价下单;LimitPolicy为限价下单。如未指定,由于策略下单时使用均价,可能存在多位小数,最终实盘账户下单的时候可能产生废单 signal_mode=True时,如想在context中获得仿真账号的持仓、资金等数据,可以使用同步函数 sync_trade_api() ?示例: from tick_trade_api import TradeAPI #初始化TradeAPI时需要指定下单策略,MarketPolicy为市价下单;LimitPolicy为限价下单 trade_api=TradeAPI('69271711',order_policy=MarketPolicy) source_code=""" # 股票策略模版 def init(context): pass # 盘前执行 def before_trading(context): pass # 开盘时运行函数 def handle_bar(context, bar_dict): order_id = order('000001.SZ', 100) print(get_orders()) try: cancel_order(order_id) except: print('撤单失败') print(get_open_orders()) print(get_tradelogs()) print(context.portfolio.stock_account) print(context.portfolio.positions) """ rtrade = research_trade( '研究环境策略', source_code, frequency='MINUTE', trade_api=trade_api, signal_mode=False, recover_dt='today' ) trade_api=TradeAPI('69271711',order_policy=MarketPolicy) 中的账号是模拟资金账号或者是实盘资金账号。 其他更新 这次还增加了几个功能 策略框架中增加 : cancel_order_all() 全撤 get_tradelogs()获取当日全部成交订单 get_orders() 获取委托,和get_order()一致,主要时和tradeapi中函数名对齐 tradeapi增加: get_open_orders() 获取当日未成订单 cancel_order_all() 全撤 为什么多数人总在亏钱? 为什么在股市里,大多数散户似乎总是在重复亏损的循环?这个问题或许困扰着每一个交易者。最近,一位投资者在交流中坦言:“10月亏了5万,11月到现在亏4万多了。” 这句话道出了无数人的心声和困境。这种普遍的困境,往往并非源于技术分析的缺失,而是深植于我们大脑中未经审视的交易心理和行为偏见。 如果传统的方法论无法带来稳定的盈利,那么问题出在哪里?本文的内容,来源于一段与一位神秘“席位”操盘手的真实对话。他所揭示的交易世界,与我们日常接触到的财经分析和投资建议截然不同。他的思维方式充满了冲击力,甚至可以说是完全反直觉的。 本文将提炼出这场对话中最具颠覆性的5个核心心法。它们可能会挑战你对交易的固有认知,但或许也能为你打开一扇通往全新交易哲学的大门。 忘掉大盘,只追龙头 传统投资的第一课,往往是“看大盘做个股”。然而,这位顶尖操盘手的第一个观点就彻底颠覆了这条准则。他的原话是:“我们是从来是不看大盘的。” 在他看来,真正强大的股票拥有穿越牛熊周期的能力。他们的核心战法——“龙头战法”,就是将所有精力与资金高度集中在当时市场中最受资金追捧、走势最强的焦点股票上。这种策略与主流的分散投资、规避风险的思路背道而驰,其底层逻辑是:与其在平庸中分散风险,不如在共识最强处集中力量。 从市场心理学的角度看,这是一种极致的“认知降噪”策略。普通投资者常常被大盘的涨跌、宏观数据等海量信息淹没,导致认知负荷过重,决策瘫痪。而这位操盘手通过主动屏蔽宏观噪音,将全部认知资源聚焦于唯一的核心变量——个股的强度本身,从而在关键时刻能够做出更纯粹、更果断的决策。 我们只做强势就行了,懂吗?只做强势。 越高越安全,买在“最贵”时 这可能是最令人费解,也最反直觉的观点。当绝大多数人都在寻找“估值洼地”、力图“低吸”时,这位操盘手的理念却是:“越高越安全”。 这一心法彻底颠覆了“买在分歧,卖在一致”的传统智慧。他的策略恰恰是“买在一致”的最高潮——当天的最高点。在他看来,这个位置并非风险的顶点,而是市场资金共识最强的证明,一支敢于冲击涨停的股票,其背后涌入的强大资金流才是安全感的最大保障。 这背后是对散户心理的精准利用。行为金融学中的“处置效应”指出,投资者倾向于过早卖出盈利的股票(锁定利润),而长期持有亏损的股票。操盘手正是利用了散户这种“小富即安”的心理,在他们纷纷获利了结时,将他们的抛盘视为抢夺珍贵筹码的良机,正如他所描述的:“我们是早上用很多个亿的资金在抢那么几百万的货。” 越高越安全。什么低吸......这些东西都是韭菜,我跟你讲就讲重点。 他在这里将“低吸”(即逢低买入)等散户常用策略斥为“韭菜”行为,强调只抓核心重点,言语虽糙,但逻辑清晰。 3你的“小资金”是最大优势 许多人认为,机构拥有资金和信息优势,但这位操盘手揭示了另一面:大资金的笨重。他提到一个专业术语“V通道”(VIP交易通道),机构虽能借此获得速度优势,但巨大的资金量使其进出困难,“我们没有办法,我们必须要走通道”。相比之下,散户的小资金虽然没有“V通道”,却拥有最宝贵的特性——灵活性。“你们的资金真的好灵活,很好翻倍”,可以在龙头股启动的瞬间迅速切入,也能在趋势反转时全身而退,这是大资金无法比拟的战略优势。 操盘手用自己的亲身经历佐证了这一点。他坦言,自己曾用几百万资金入市,最后亏到只剩下几万块。但在“悟道”之后,正是靠着这笔被视为“失败”的小钱,他重新建立了自己的交易帝国,“我从几万做到几十,从几十做到100”。这个过程雄辩地证明:正确的模式远比庞大的本金更重要。 你的模式不对,你200万会变成2万块,你的模式对了,2000块钱都可以让你成为200万。 真正的交易,每天只需半小时 很多人以为,职业交易员的生活就是全天候紧盯屏幕,在K线的每一次跳动中寻找机会。然而,这位操盘手彻底打破了这种迷思。他真正的核心操作时间,每天极其短暂和集中,正如他所说,“今天9点15开始到9点40操作几下就可以了”,之后“其他的时间我是不看盘的”。 这种高效、精准的交易方式,与普通散户全天候焦虑、频繁操作的状态形成了鲜明对比。这背后是一种深刻的交易哲学:专业交易追求的是高确定性的机会,而不是在市场的随机波动中消耗精力。在没有好的标的时,最好的策略就是休息(“我 不 玩”)。交易的成功,在于精准地抓住一年中为数不多的几次关键机会,而非追求每日的蝇头小利。 成功的秘诀:找到并坚持你的“模式” 前面所有的颠覆性观点,最终都指向一个统一的核心概念:建立一个稳定且可复制的“交易模式”。操盘手反复强调:“一定要有这模式和稳定的一个买点。” 那么,交易者梦寐以求的“悟道”究竟是什么?并非什么玄妙的哲学,操盘手用一句极为朴实的话揭示了真相:“所谓的悟道,这就是悟道,没有那么高深,懂吗?”在他看来,“悟道”不是顿悟了宇宙真理,而是找到了一套行之有效的打法,并用钢铁般的纪律去执行。它是一种返璞归真,是放弃幻想,是承认自己的能力边界,然后将简单的事情重复做到极致。 这种纪律性体现在每一个决策中,例如,当看中新的龙头机会却没有资金时,必须果断卖出手中表现不佳的弱势股,为新的“子弹”腾出空间(“把那些该割的割啊兄弟啊”)。对于普通投资者,他的建议是从极小的资金开始(“甚至拿一万都可以,甚至5000块都可以”),去练习和验证自己的交易模式,而不是用大资金去市场上交昂贵的学费。 你的交易“信仰”需要被重塑吗? 忘掉大盘、追高买入、小资金优势、超短时操作、坚持固定模式——这五个核心观点,共同指向了一种与传统投资智慧截然不同的交易哲学。它强调极致的专注、反人性的决策和严格的纪律。 必须强调的是,这种超短线龙头战法风险极高,波动巨大,绝不适合所有人盲目模仿。因此,这篇文章的真正价值,并非提供一套可以照搬的赚钱秘籍,而是向我们发出了一次深刻的心理挑战。它迫使我们直面自己内心深处的恐惧(怕高)、贪婪(想买在最低点)和摇摆不定。 读完这位顶尖操盘手的“心法”,不妨扪心自问:那些你一直坚信不疑的投资准则,究竟是保护你的铠甲,还是禁锢你思维的牢笼? 引言:你是否也曾相信,股市有“必胜秘籍”? 在股市中沉浮的你,是否也曾感到困惑?明明学习了各种在社交媒体上广为流传的交易策略,听信了无数“老师”的指导,却依然常常陷入亏损的泥潭。当你看到“龙头战法”、“首阴战法”这些听起来充满确定性的名词时,是否也曾心动,认为自己找到了通往财富自由的捷径? 然而,你是否曾停下来想过,这些被反复宣传的“必胜秘籍”,背后是否隐藏着不为人知的真相?今天,我们就来揭开这个精心设计的陷阱。 1. 陷阱一:被刻意制造的“共识” 流行的,未必是有效的 所谓的“龙头战法”和“首阴战法”之所以如此流行,并非因为它们真的能稳定盈利,而是因为它们被别有用心的“老师”和自媒体反复宣传和普及。 这种持续的宣传,其核心目的只有一个:给广大散户进行思想“洗脑”。他们不断地向你灌输一种观念,让你误以为,要想在股市获利,唯一的途径就是去追逐那些所谓的“确定性”和巨大的成交量。长此以往,一种可被利用的集体意识便形成了。当所有人都相信同一套逻辑时,这个逻辑本身就成了收割者的工具。 2. 陷阱二:被精准收割的“接盘侠” 你看到的**“机会”****,正是别人出货的时机** 一旦散户对“龙头战法”深信不疑,一场精准的收割就开始了。整个过程通常分为三步: 第一步:拉抬股价。 “游资”(Hot Money)和背后的产业链会利用其资金优势,快速将某支股票的价格拉升至涨停。在这个阶段,由于股价一飞冲天,绝大多数散户根本没有机会买入。 第二步:诱敌深入。 当这支股票在连续涨停后,某一天突然放出巨量时,真正的陷阱出现了。那些被之前“普及教育”过的散户,看到这种放量信号,会误以为是新的上涨起点,于是纷纷跟风买进。 第三步:出货收割。 此时,主力资金便开始“一边拉抬一边出货”。他们利用散户的追涨热情,通过巨大的换手率,将手中高价的筹码卖给蜂拥而至的散户。最终,跟风者成了这场游戏最后的“接盘侠”。 让我们冷静地思考一个问题: 假如我们散户都不信龙头战法,都不信首阴战法,都去做价值投资,你猜游资他拉抬会有出货的机会吗?他拉台高的价格会有出货的机会吗?那油资靠什么吃饭呢? 答案不言而喻。他们正是靠着反复强调这些错误策略,才得以生存。 3. 陷阱三:被神化的“造富神话” 幸存者偏差,是最大的谎言 为了让散户更加坚定地相信这套逻辑,市场上总会流传着一些“几万做到几千万甚至上亿”的造富神话。然而,这些故事根本经不起推敲。 如果神话为真: 中国有数亿股民,为什么成功的案例只有寥寥数个?这恰恰从侧面印证了,依靠“龙头战法”成功的概率微乎其微,低到可以忽略不计。 如果神话为假: 这就更加证明了,这些故事不过是产业链为了欺骗散户接盘而精心编造的谎言。 这些被刻意打造出来的“标杆”案例,其真实目的就是让你产生幻想,让你对这些错误的策略更加深信不疑。而盲目相信的最终结果,往往是“赚得少,亏得多”,用不了多久就会血本无归。 结论:打破幻想,回归价值 清醒地认识到,“龙头战法”等流行策略,并非散户的出路,而是为散户量身定做的陷阱。它们利用了人性的贪婪和对确定性的渴望,最终让你成为他人获利的垫脚石。 真正的出路或许并不复杂,它恰恰是那些操纵者最不希望你选择的道路——价值投资。因为当你开始关注一家公司的内在价值而非短期股价波动时,所有的“战法”和“秘籍”都将失去作用,游资也将无计可施。 在下一次冲动买入前,你是否会先问问自己:这究竟是机会,还是又一个精心设计的陷阱? 师傅们是怎么把supermind的query_iwencai迁移到ptrade呢?比如query_iwencai我需要macd金叉的,那么在迁移的时候我发现ptrade如果对个股跑一下一下子要处理4000多个,且macd貌似没有query_iwencai准确,有没有厉害师傅知道要怎么搞的额 本人新手,自己弄了个策略,还有上升空间,可以跑模拟。给同好一起练手优化吧。 run_daily可以在分钟级策略指定运行时间,请问日级的策略有什么方法指定运行时间么 编写第一个量化策略(手把手详细版教程) 对于大部分人来说,量化交易是非常陌生与神秘的。本节内容将带你开启第一个量化策略! 本节内容摘要: 1.理解量化策略的基本框架。 2.学会编写一个简单的量化交易策略。 3.学会将量化交易策略绑定实盘模拟交易,并实时收到交易策略的买卖信号。 1.理解量化策略的基本框架 通常情况下,完整的量化交易策略至少需要确定两件事: A.交易标的,即买什么; B.确定交易时机,即怎么买卖。 让我们来设计一个简单完整的量化交易策略: 策略交易标的:贵州茅台; 策略交易时机:5日均线与20日均线金叉时,买入;5日均线与20日均线死叉时,卖出。 2.学会编写一个简单的量化交易策略 第一步:打开SuperMind量化交易平台,先在上方导航栏点击“我的策略”—“策略编译”,再点击蓝色按钮“+新建策略”,接着点击已创建的策略进入策略编译器页面,如下: 温馨提示:“回测列表”下方三个按钮,可以设置编译器字体大小,背景颜色,编译设置,开启全屏编译,查看API文档,如下: 第二步:理解量化交易策略框架对应的代码框架。def init(context): #初始化函数:确定交易标的def handle_bar(context, bar_dict): #定时运行函数:确定交易时机 框架理解: 1.def init(context)与def handle_bar(context, bar_dict)是两个函数,函数格式固定为:def 函数名(参数),其中def后面带空格键,函数末尾必须带冒号。 2.def init(context)函数是初始化函数,只运行一次,确定初始化条件;def handle_bar(context, bar_dict)函数是定时运行函数,平台默认该函数定时运行。日级策略,每日9:30;分钟级策略,交易期间内的每分钟。 3.“#”后面为注释内容,用于注释代码,便于编写和阅读。 第三步:确定交易标的:context.security = '600519.SH'。 温馨提示: 1.context是账户对象,该对象存放所有账户相关信息,持仓、可用现金、资产盈亏。 2.context.security是在账户对象下,设置security变量,存放在账户内,这里我们需要确定交易标的,即:context.security = '600519.SH'。def init(context): context.security = '600519.SH'#已确定交易标的def handle_bar(context, bar_dict): #定时运行函数:确定交易时机 第四步:确定交易时机,即为:5日均线与20日均线金叉时,买入;5日均线与20日均线死叉时,卖出。 从交易时机出发,我们需要计算交易标的5日和20日均线,那么5、20日均线需要用历史行情数据的收盘价来计算。 整个流程即:获取历史行情20日的收盘价数据———计算5、20日均线———判断5、20日均线,进行买卖交易。 A.获取历史行情20日的收盘价数据: 1.找到函数历史数据函数:history 2.填写函数参数,获取到数据: i.交易标的,即:获取那个股票的数据。 ii.数据字段:['close']收盘价,即:获取哪个数据。 iii.输入历史长度,即:获取多长时间的数据。 iv.获取数据的时间步长,即:获取日线级步长数据。 v.填写是否跳过停牌数据,复权选项,返回数据格式。 最终结果即为:history(context.security, ['close'], 20, '1d', False, 'pre', is_panel=1) 3.将获取到的数据储存,便于计算,即:closeprice = history(context.security, ['close'], 20, '1d', False, 'pre', is_panel=1)#获取证券过去20日的收盘价数据 closeprice = history(context.security, ['close'], 20, '1d', False, 'pre', is_panel=1) B.计算5、20日均线: 1.获取数据值,即:closeprice['close'],['close']可以获取储存中的收盘价数据,格式为closeprice['close']。温馨提示:closeprice是我们刚才获取的数据,但是数据有股票、时间、数值,我们直接用['close']获取收盘价数据值用于计算即可。 2.选取数据长度,即:closeprice['close'].iloc[-5:]。iloc[]用于取值,我们之前获取20个数据,但5日均线只需要过去5日的收盘价,因此iloc[-5:]即为获取倒数第五个到最后一个数据。温馨提示: i.iloc[:]是获取所有数据。 ii.iloc[:x]是从第一个获取到第x个,不包括第x个。 iii.iloc[x:y]是从第x个到第y个,包括x,但不包括y。 iv.iloc[-x:]获取倒数第x个到最后一个数据。 3.计算均值,即closeprice['close'].iloc[-5:].mean(),赋值给MA5。同理MA20=closeprice['close'].mean(),即对所有值取平均,相当于MA20=closeprice['close'].iloc[:].mean()。#计算二十日均线价格 MA20 = closeprice['close'].mean()#计算五日均线价格 MA5 = closeprice['close'].iloc[-5:].mean() C.判断5、20日均线,进行买卖交易: 1.if判断条件,即为 if MA5 > MA20:。温馨提示if判断函数的格式为if +添加判断+:,其中if后面必须带一个空格键,其次末尾必须带冒号。 2.当MA5小于MA20时,我们再对持仓市值判断,如果有持仓,那么持仓市值必然大于0,需要进行卖出交易,我们直接通过context账户对象中portfolio资产组合内stock_account股票账户下来获取持仓市值,即为:context.portfolio.stock_account.market_value。 3.下单买入交易: i.当触发MA5大于MA20时,我们需要买入股票,这时候我们可以使用order_target_percent下单函数,该函数以目标市值占比下单。 ii.输入下单函数的参数,order_target_percent函数需要输入两个参数: 1.下单的股票,即为context.security,我们之前将交易标的传入进去,可以直接用。 2.下单的占比,即为1,取值范围[0,1],此时取1,表示全仓买入股票。 iii.触发条件后程序提醒,当代码执行完下单函数后,我们用log.info()来打印日志,这样我们也可以看到程序下单了。 温馨提示:log.info()内你可以直接输入中文,例如:log.info('条件满足!买入贵州茅台啦!')# 如果5日均线大于20日均线,则全仓买入股票if MA5 > MA20: # 按目标市值占比下单 order_target_percent(context.security, 1) # 记录这次买入 log.info("买入 %s" % (context.security)) 4.下单卖出交易: i.当触发MA5小于MA20时,我们需要卖出股票,这时候我们可以使用order_target下单函数,该函数以目标股数下单。 ii.输入下单函数的参数,order_target函数需要输入两个参数: 1.下单的股票,即为context.security,我们之前将交易标的传入进去,可以直接用。 2.下单的目标股数,即0,因为我们需要将持仓股票卖出,卖到0股为止。 iii.触发条件后程序提醒,当代码执行完下单函数后,我们同log.info()来打印日志,这样我们也可以看到程序下单了。# 如果5日均线小于20日均线,并且目前有头寸,则清仓股票elif MA20 > MA5 and context.portfolio.stock_account.market_value > 0: # 卖出所有股票,使这只股票的最终持有量为0 order_target(context.security, 0) # 记录这次卖出 log.info("卖出 %s" % (context.security))最终完整代码:def init(context): # 设置要操作的股票:贵州茅台 context.security = '600519.SH'# 设置买卖条件,每个交易频率(日/分钟/tick)调用一次def handle_bar(context, bar_dict): # 获取股票过去20天的收盘价数据 closeprice = history(context.security, ['close'], 20, '1d', False, 'pre', is_panel=1) # 计算20日均线 MA20 = closeprice['close'].mean() # 计算5日均线 MA5 = closeprice['close'].iloc[-5:].mean() # 如果5日均线大于20日均线,则全仓买入股票 if MA5 > MA20 : # 按目标市值占比下单 order_target_percent(context.security, 1) # 记录这次买入 log.info("买入 %s" % (context.security)) # 如果5日均线小于20日均线,并且目前有头寸,则清仓股票 elif MA20 > MA5 and context.portfolio.stock_account.market_value > 0: # 卖出所有股票,使这只股票的最终持有量为0 order_target(context.security, 0) # 记录这次卖出 log.info("卖出 %s" % (context.security))第五步 回测量化交易策略 通过以上4步,我们已经完成了量化交易策略编写,那么接下来我们需要进行量化交易策略回测。 A.首先,我们尝试去跑通整个历史行情,排查代码错误。 i.右上角设置回测历史长度,设置资金,设置交易频率。 ii.点击左上角“编译运行”按钮,右边出现量化交易策略在历史行情中的表现情况 B.当量化交易策略能跑通整个历史行情后,我们可以确定该代码正确无误,随后点击右上角蓝色按钮“进行回测”。页面跳转至回测页面,在回测详情界面,您可以查看策略收益曲线,风险指标,每日持仓,交易明细,输出日志等信息,如下: C.学会将量化交易策略绑定实盘模拟交易,并实时收到交易策略的买卖信号 1.在回测显示结果页面,右上角点击蓝色按钮开启模拟交易,可以自行选择:从当前日开始模拟,在已有的回测基础上继续模拟.如下图: 2.至此,我们成功开启了模拟交易,可以查看您的模拟交易账户详细情况:交易明细、持仓、盈亏情况、账户风险指标等等。如下图: 3.您可以为您模拟交易账户新建模拟交易、暂停策略运行、发布策略至社区、重启策略、查看策略运行日志、查看策略代码。注意:重启按钮只会在策略运行错误后显示,如果策略运行正常,显示暂停按钮。新建模拟交易如下图: 
请问,SUPERMIND实盘支持哪些券商?券商资金要求比较小的有哪些?