Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add eddmpython/dartlab --skill quantgit clone --depth 1 https://github.com/eddmpython/dartlabWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/eddmpython/dartlab/quant)<a href="https://agentmods.dev/skills/eddmpython/dartlab/quant"><img src="https://agentmods.dev/badge/skills/eddmpython/dartlab/quant/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/eddmpython/dartlab/quant"><img src="https://agentmods.dev/badge/skills/eddmpython/dartlab/quant.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium analysis-evasion · line 1 Suspicious Unicode normalization or mixed-script contentFix: Review the flagged content for security risks. Ensure no credentials, secrets, or sensitive data are exposed.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.11704 |
| Opus 5.5 | $0.00000 | $0.04682 |
| Sonnet 5.5 | $0.00000 | $0.02341 |
| Haiku 4.5 | $0.00000 | $0.01170 |
Grade A, and why
quant scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 785 lines — stays where its author put it; the contents beside it link to each section on GitHub.
엔진 역할
quant는 가격/거래량/수급/팩터/공시 텍스트/포트폴리오/전략을 정량적으로 계산하는 L2 엔진이다. 재무제표의 회계적 인과 해석은 analysis, 시장 레벨 매크로 해석은 macro, 후보 유니버스 발굴은 scan이 담당한다.
공개 호출 방식
import dartlab
guide = dartlab.quant()
tech = dartlab.quant("지표", "005930")
verdict = dartlab.quant("판단", "005930")
beta = dartlab.quant("베타", "005930", benchmarkMode="sector")
ranking = dartlab.quant("순위")
portfolio = dartlab.quant("리스크패리티", ["005930", "000660"])
bt = dartlab.quant("backtest", "005930", style="trendFollow")
c = dartlab.Company("005930")
company_quant = c.quant("모멘텀")
divergence = c.quant("괴리")
괴리는 Quant 대표 제품이다. 공시 이익 변화, 시장 횡단면 이익 서프라이즈 프록시,
가격 반응을 비교한다. 실제 애널리스트 컨센서스가 없으면 이를 기대치로 가장하지 않고
product.gaps에 quant.analystConsensus로 남긴다.
classification: underReaction | confirmation | overOptimism | deteriorationPriced | inconclusive
fundamental, expectation, price,
product{conclusion, confidence, evidence, gaps, scenarios, falsifiers, payload}
강행 호출 룰 (agent 답변 품질 회귀 차단)
46 axis 질문 (베타·모멘텀·변동성·factor·forecast·backtest 등) 에서 다음 4 룰 강행 - 위반 시 refs=0 회귀.
- 1 차 도구는 EngineCall 강제.
EngineCall(apiRef="quant", args={"axis": "베타", "stockCode": "005930"})양식. RunPython 직접 numpy/polars 계산은 engine 결과 부재 시에만 fallback - 처음부터 raw 계산 금지. - 본문 안 숫자에 inline ref 표기 필수 -
[tableRef:...]또는[valueRef:...]형식. ref 없는 quant 결과는 답변 보류. - backtest 결과는
executionRef명시 - 백테스트 일자 / 룰 / 파라미터 ref 박지 않으면 hindsight 환각. - forecast/walkforward 같은 가정 강한 축은
[conf:30]기본 - 가정 (lookahead window · trend assumption) 본문에 명시.
호출 동작
무인자 dartlab.quant()는 46개 축 가이드 DataFrame을 반환한다. axis와 종목을 주면 가격/거래량/재무/공시 snapshot을 읽어 축별 결과를 계산한다.
축은 단일 종목 축, 종목 불필요 횡단면 축, 종목 리스트 포트폴리오 축, rule/style 기반 전략 축으로 나뉜다. 필요한 입력이 없으면 가이드 또는 오류/제한을 반환하고 값을 만들지 않는다.
전체 축/메서드 목록
| axis | label | group | 대표 호출 |
|---|---|---|---|
| indicators | 지표 | 기술적 | dartlab.quant("지표", "005930") |
| signals | 신호 | 기술적 | dartlab.quant("신호", "005930") |
| verdict | 판단 | 기술적 | dartlab.quant("판단", "005930") |
| momentum | 모멘텀 | 기술적 | dartlab.quant("모멘텀", "005930") |
| volatility | 변동성 | 기술적 | dartlab.quant("변동성", "005930") |
| forecast | 예측 | 기술적 | dartlab.quant("예측", "005930", horizon=5) |
| marketContext | 시장맥락 | 리스크 | dartlab.quant("시장맥락", "005930") |
| regime | 레짐 | 기술적 | dartlab.quant("레짐", "005930") |
| pattern | 패턴 | 기술적 | dartlab.quant("패턴", "005930") |
| chartPatterns | 차트패턴 | 기술적 | dartlab.quant("차트패턴", "005930") |
| beta | 베타 | 리스크 | dartlab.quant("베타", "005930") |
| benchmark | 벤치마크 | 리스크 | dartlab.quant("벤치마크", "005930") |
| factor | 팩터 | 리스크 | dartlab.quant("팩터", "005930") |
| tailrisk | 꼬리위험 | 리스크 | dartlab.quant("꼬리위험", "005930") |
| residual | 잔여수익 | 리스크 | dartlab.quant("잔여수익", "005930") |
| liquidity | 유동성 | 미시구조 | dartlab.quant("유동성", "005930") |
| flow | 수급 | 미시구조 | dartlab.quant("수급", "005930") |
| volume | 거래량 | 미시구조 | dartlab.quant("거래량", "005930") |
| divergence | 괴리 | 펀더멘털 | dartlab.quant("괴리", "005930") |
| quality | 퀄리티 | 펀더멘털 | dartlab.quant("퀄리티", "005930") |
| value | 가치 | 펀더멘털 | dartlab.quant("가치", "005930") |
| earnings | 이익모멘텀 | 펀더멘털 | dartlab.quant("이익모멘텀", "005930") |
| sentiment | 공시심리 | 텍스트/공시 | dartlab.quant("공시심리", "005930") |
| toneChange | 톤변화 | 텍스트/공시 | dartlab.quant("톤변화", "005930") |
| eventSignal | 이벤트신호 | 텍스트/공시 | dartlab.quant("이벤트신호", "005930") |
| riskText | 리스크텍스트 | 텍스트/공시 | dartlab.quant("리스크텍스트", "005930") |
| governanceQuant | 거버넌스퀀트 | 텍스트/공시 | dartlab.quant("거버넌스퀀트", "005930") |
| ranking | 순위 | 횡단면 | dartlab.quant("순위") |
| pairs | 페어 | 횡단면 | dartlab.quant("페어") |
| screen | 스크린 | 횡단면 | dartlab.quant("스크린") |
| altman | Altman Z/Z'' + 적용성 원장 | 펀더멘털 | dartlab.quant("altman") |
| piotroski | Piotroski F | 펀더멘털 | dartlab.quant("piotroski") |
| beneish | Beneish M 비발행 계약 | 펀더멘털 | dartlab.quant("beneish") |
| accruals | Sloan Accrual | 펀더멘털 | dartlab.quant("accruals") |
| qfactor | q-factor | 펀더멘털 | dartlab.quant("qfactor") |
| qmj | QMJ | 펀더멘털 | dartlab.quant("qmj") |
| bab | BAB 저베타 | 리스크 | dartlab.quant("bab") |
| surprise | 이익서프라이즈 | 펀더멘털 | dartlab.quant("surprise") |
| fundmom | 펀더-가격 모멘텀 | 펀더멘털 | dartlab.quant("fundmom") |
| meanvar | 평균분산 | 포트폴리오 | dartlab.quant("평균분산", ["005930", "000660"]) |
| riskparity | 리스크패리티 | 포트폴리오 | dartlab.quant("리스크패리티", ["005930", "000660"]) |
| allocation | 자산배분 | 포트폴리오 | dartlab.quant("자산배분", ["005930", "000660"]) |
| strategy | 전략 | 전략 DSL | dartlab.quant("strategy", "005930", rule=myRule) |
| backtest | 백테스트 | 전략 DSL | dartlab.quant("backtest", "005930", style="trendFollow") |
| style | 스타일 | 전략 DSL | dartlab.quant("style", "005930", name="all") |
| entry | 진입진단 | 전략 DSL | dartlab.quant("entry", "005930", style="all") |
| walkforward | 워크포워드 | 전략 DSL | dartlab.quant("walkforward", "005930", style="meanReversion") |
| multi | 멀티자산 | 전략 DSL | dartlab.quant("multi", ["005930", "000660"], style="trendFollow") |
What ships with it
4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 785 lines · 0 tokens per session scan A 22f309f4a114
quant is a skill published in the GitHub repository eddmpython/dartlab (225 stars, last pushed 3d ago), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 11,704 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
sas-fas-analyst
Evidence-first deep investment research for US equities and crypto assets, with independent bull and bear cases, forensic checks, long-horizon valuation, and optional personalized buy, sell, short, and position-sizing decisions. Use when the user invokes SAS, requests deep fundamental or token analysis, asks whether a…
tradingagents-korea-analysis
A stock-analysis skill for companies listed in South Korea’s KRX markets, including KOSPI and KOSDAQ.
vnpy-export
Export a Vibe-Trading backtest strategy to a runnable vnpy CtaTemplate Python class — supports A-share equities, futures, and crypto via BarGenerator + ArrayManager.
connect-recommend
Use this skill when the user asks about Stripe Connect configuration, charge patterns, Dashboard access, or how to get started with Connect, is building a marketplace, platform, multi-vendor store, gig platform, or subscription platform, needs to pay out sellers, vendors, or providers, mentions split payments, revenue…
t0
A stock-trading calculator for T+0, meaning buying and selling the same stock during one trading day, with trading fees and stamp tax included.
miniqmt-to-bigqmt
A conversion guide for moving Python trading strategies from miniQMT, an external trading setup, into the Python environment built into bigQMT, a trading client. It covers code changes, compatibility checks, deployment, and live-trading verification.