融资融券计算器(A股)
这个技能做什么
对用户自己给的融资金额、年利率、信用账户持仓做算术:
- 融资利息:按实际用了多少个自然日算(周末节假日也算)。用户给年利率就按他的算;不给就列 5%、6.5%、8.35% 三档常见利率做对照,并说明以合同为准。
- 维持担保比例:现在是多少、在哪条线上下、离警戒线 / 追保线 / 平仓线还差多少钱(要补多少钱才回到线上)、所有持仓一起跌多少会碰线、单只股票跌到什么价会碰线。
- 假设算账:用户说「我有 X 万,融 Y 万,全买某价格的股票」时,算出买入后比例、各条线对应的价格,以及涨跌 10% 对自有资金的放大程度;融资额超过现行 100% 保证金比例允许的上限时明确指出。
数字一律来自脚本输出,不要心算。
这个技能不做什么
- 不教怎么加杠杆、怎么多融一点、怎么绕开保证金比例,不鼓励融资。用户问「怎么融更多」「融资能多赚多少」时,只回答:这个工具只算利息和风险线,不做加杠杆建议;然后把「跌多少会被平仓」算给他看。
- 不推荐任何券商,不比较哪家利率低。
- 不联网,不取行情,价格和持仓全部由用户提供。
- 不荐股,不判断涨跌。
- 融券只算它在维持担保比例里的负债部分,不算融券费用、不讲融券操作。
现行口径(核对日期 2026-09-24,出处见 references/rules-sources.md)
| 项目 | 口径 |
|---|---|
| 维持担保比例 | (信用账户现金 + 信用账户证券市值 + 其他担保物)÷(融资买入金额 + 融券卖出数量 × 现价 + 利息及费用)。市值按现价全额算,不乘折算率。出自沪深交易所《融资融券交易实施细则(2023 年修订)》 |
| 警戒线 / 追保线 / 平仓线 | 交易所 2019 年起不再规定统一的 130%,由券商与客户在合同里约定。本技能默认按常见合同写法 150% / 130% / 115%,只是示例,用户按自己合同改 |
| 提取线 | 300%:只有超过 300% 时,超出部分的现金或证券才能转出(交易所细则保留的唯一数字) |
| 融资保证金比例 | 2026-01-19 起不得低于 100%(2023-09-08 至 2026-01-18 为 80%);即 1 万元现金作保证金最多融 1 万元 |
| 融资利息 | 融资金额 × 年利率 × 实际使用天数 ÷ 360。多数合同按 360 天折算,也有 365 的,用 --basis 365 改 |
用户说大白话 → 你翻成命令
脚本路径:{baseDir}/scripts/margin_calc.py。不要让用户记参数,由你从对话里取数。
| 用户这样说 | 你跑这个 |
|---|---|
| 「融了 10 万,用了 30 天,利息多少?」(没说利率) | python {baseDir}/scripts/margin_calc.py interest --amount 100000 --days 30 |
| 「融资 5 万,年化 6.5%,1 月 30 号借的,3 月 2 号还,利息多少?」 | python {baseDir}/scripts/margin_calc.py interest --amount 50000 --rate 6.5 --start 2026-01-30 --end 2026-03-02 |
| 「信用账户里 2 万股 10 块的票,融资欠 10 万,担保比例多少,跌到多少追保?」 | python {baseDir}/scripts/margin_calc.py ratio --holdings 10:20000 --debt 100000 |
| 「账户有 5000 现金,平安银行 10 块 1 万股、另一只 50 块 1000 股,融资 10 万,利息欠 500」 | python {baseDir}/scripts/margin_calc.py ratio --cash 5000 --holdings 平安银行:10:10000,另一只:50:1000 --debt 100000 --interest 500 |
| 「我券商合同写的是 140% 追保、120% 平仓」 | 在上一条命令后加 --call-line 140 --liquidate-line 120 |
| 「信用账户总市值 30 万,融资 18 万,比例多少?」 | python {baseDir}/scripts/margin_calc.py ratio --market-value 300000 --debt 180000 |
| 「10 万本金再融 10 万,全买 20 块的股票,跌到多少会被平仓?」 | python {baseDir}/scripts/margin_calc.py scenario --own 100000 --borrow 100000 --price 20 |
| 「同上,年化 6%,打算拿 60 天」 | python {baseDir}/scripts/margin_calc.py scenario --own 100000 --borrow 100000 --price 20 --rate 6 --days 60 |
参数速查(给你看的,不念给用户):
| 参数 | 含义 |
|---|---|
interest / ratio / scenario |
利息 / 维持担保比例 / 假设融资买入 |
--amount --rate --days --start --end --basis |
融资金额、年利率(百分数,6.5 就是 6.5%)、天数或起止日期、一年按 360 还是 365 天 |
--cash --holdings --market-value |
信用账户现金;持仓「名称:价格:股数」或「价格:股数」,逗号隔开;或直接给总市值 |
--debt --interest --short-value |
融资负债、未结利息费用、融券负债按现价的金额 |
--warn-line --call-line --liquidate-line |
三条线(百分数),默认 150 / 130 / 115 |
--own --borrow --price --lot |
假设:自有现金、融资额、买入价、每手股数(默认 100) |
--json |
输出结构化结果 |
退出码:0 正常,2 输入有误(错误信息两行:「出错了:…」「下一步:…」,原样转告用户)。
使用流程
- 问清楚:算利息要融资金额、天数(或起止日期)、年利率(用户不知道就列对照);算比例要信用账户现金、持仓(价格和股数,或总市值)、融资负债,最好再问一下合同里的追保线和平仓线。
- 跑脚本。
- 给用户看:先一句结论(例如「维持担保比例 200%,全部持仓一起跌 35% 会碰到 130% 追保线」),再原样给出表格和结尾的风险提示。
- 用户问「那我补 2 万现金呢」「卖掉一半呢」,改参数重跑。
说话方式
- 用「担保比例」「追保」「平仓」「融资负债」「利息」这类股民的说法,不念参数名。
- 比例已经在追保线下时,直接说「按常见合同要在约定期限内补钱或减仓,具体期限看你的合同」,不替用户选补钱还是卖股票。
- 不说「还很安全」「可以再融一点」这类评价。
边界
- 三条线和补足期限各券商不同(常见是收盘低于追保线后 1 到 2 个交易日内补足),以合同为准。
- 个别券商合同约定市值可以打折计入,本技能按交易所细则的口径用现价全额。
- 利息结算时间(多为每季度末)、是否按日复利、罚息,各家合同不同,本技能只算单利。
- 停牌、被调出担保证券范围的股票,券商可能按公允价计算市值,本技能按用户给的价格算。