Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A systematic equity research project, run as an adversarial process: every idea is
pre-registered, tested against a declared null, and killed when it fails.
312 recorded research steps. Nineteen signal families closed. Zero strategies promoted.
Zero dollars traded.
That last line is the result, not an apology for one. A research process that promotes
nothing from 312 attempts is either broken or working exactly as intended, and the record
below is the evidence for which.
What this project set out to doREADME 전문 보기 ↗A systematic equity research project, run as an adversarial process: every idea is pre-registered, tested against a declared null, and killed when it fails.
312 recorded research steps. Nineteen signal families closed. Zero strategies promoted. Zero dollars traded.
That last line is the result, not an apology for one. A research process that promotes nothing from 312 attempts is either broken or working exactly as intended, and the record below is the evidence for which.
Find a systematic equity strategy with a real edge — using only free data, on a laptop, held to the standard a quant firm would apply. The dashboard shows candidate strategies with trailing returns from 100% to 175%. None of them is an edge, and the research explains why.
1. The strategies never had cross-sectional skill. Thirteen dashboard signals and fourteen closed families were measured three beta-neutral ways — rank information coefficient, top-minus-bottom decile spread, and decile monotonicity. None clears Bonferroni. More decisively, none orders its deciles: monotonicity sits within ±0.17 of zero for every signal tested. A signal with genuine content ranks its universe; these rank nothing. (Steps 296, 298, 299, 300)
2. The headline returns were market beta and a few lucky names. Taking the one signal that survived out-of-sample testing and neutralising its market exposure dropped it from 16.65% CAGR to 1.59% — roughly ninety per cent of the return was beta. The top-N books were not winning on selection. (Step 295)
3. Nothing survives a window it was not selected on. Every fundamental panel began in 2023, so no strategy here had ever been tested outside its selection window. Acquiring SEC Financial Statement Data Sets back to 2012 fixed that. Nought of six survive; three of six have the wrong sign. Growth, the flagship, lost 15.4 points a year to its own scored universe. (Steps 287, 289, 290)
4. Breadth is not the binding constraint — skill is.
The project spent roughly fifty steps trying to raise breadth on the theory that
IR = IC × √BR made it the lever. It is a product: an IC indistinguishable from zero yields
an IR indistinguishable from zero at any breadth. Adding a genuinely uncorrelated asset
raised effective bets from 2.00 to 2.88 and bought 0.021 of Sharpe. Every liquid domain
measured collapses — 35 ETFs give 4.16 effective assets, 20 crypto assets give 3.09.
(Steps 246, 277, 279, 285, 296)
5. A one-week date convention invalidated the project's best result. Two artifact families disagreed about whether a return stamped at date D was the week ending or beginning at D, and nothing recorded which. Joining them by date compared week t against week t+1, producing near-zero correlations that looked like diversification. Corrected, the "independent" strategy correlates +0.57 to +0.77 with the others, and a blend that appeared to beat both components beats neither. The finding was withdrawn and the forward clock built on it was superseded before it started. (Steps 291, 292, 294)
6. Market-neutral structure works. There was nothing to put in it. A long-short book removes market beta by construction — realised betas of −0.009 and +0.007, clearing an orthogonality gate that fourteen families had failed. Both signals tested in it had no skill. The machinery is sound and unfuelled. (Steps 293, 295)
Roughly forty signal families across eight categories — momentum is four of them.
| category | families |
|---|---|
| Price / return | short-term reversal, seasonal momentum, opening-range breakout, coskewness, idiosyncratic skewness, trend consistency, sector dispersion, vol-of-vol, downside beta, residual reversal, industry-return-of-big-firms, daily OHLCV zoo, 22-signal literature screen, cross-asset crisis trend, futures trend |
| Fundamental | growth, cash conversion, balance-sheet quality, profitability, shareholder discipline, quality acceleration, earnings yield, FCF yield, sales yield, composite value, quality-at-reasonable-price, low asset growth, accounting-change family |
| Events | PEAD / SUE, 13D & 13G activist filings, Form 4 insider clusters, Form 4 routine-vs-opportunistic |
| Positioning / flow | 13F institutional linkage, FINRA short interest, FINRA daily short-sale volume |
| Text | 10-K language change, earnings-call transcripts |
| Network | supply-chain graph |
| Other markets | 35-ETF multi-asset, 20-asset crypto, futures + roll repair |
| Structure & ML | pairs / statistical arbitrage, long-short market-neutral, risk-budgeted sizing, breadth repair, meta-labeling, triple-barrier labelling, fractional differentiation, MDA/MDI importance, market-state and macro-state classifiers |
The rules are in CLAUDE.md and they are enforced, not aspirational:
2.0/config/ before results exist. A signal declared positive that measures negative is
reported as refuted, never re-interpreted as contrarian.2.0/PROJECT_HISTORY.md is
append-only and includes every error the author made, several of which invalidated earlier
conclusions.Ten measurement defects were found and recorded, most by noticing a number that could not mean what it appeared to mean. Three times in a single session a result cleared a significance bar and dissolved under inspection: an insider signal at p=0.0000 that was a presence test on a 93.3%-zero series; a trend signal at p=0.0017 with a negative decile spread; a text signal at p=0.0030 sitting below its own data's resolution. A process that stopped at the p-value would have reported all three as discoveries.
Five forward clocks began on 2026-09-11: a residual composite, an equal-weight benchmark, a tie-agnostic companion, an earnings-surprise book and a valuation book. Each requires 52 untouched weeks. A missed weekly window cannot be backfilled, and the historical record never advances a clock.
This is the only source of evidence the project has left that has not already been searched.
1.0/ the legacy ETF project this began as -- docs, reports and
source kept as the origin record; its data is superseded by 2.0
2.0/
dashboard/ Next.js research dashboard (the deployed site)
scripts/ acquisition, construction, testing and audit scripts
src/ forward-evidence ledger, return conventions, evaluation
config/ frozen manifests, pre-registrations, forward protocols
docs/ runbooks, protocols, the research queue
evidence/ saved outputs of every experiment
PROJECT_HISTORY.md the full append-only record, 312 steps
CLAUDE.md the operating rules
cd 2.0 && python -m venv .venv && ./.venv/bin/pip install -r requirements.txt
./.venv/bin/python scripts/rebuild_all_data.py --core # panels the dashboard and clocks need
cd dashboard && npm install && npm run dev
Raw acquisition caches are not stored in the repository — they are large and every byte is
re-downloadable from SEC EDGAR, FINRA and public price sources. rebuild_all_data.py
re-acquires them; --core fetches only what the dashboard and the forward clocks read.
Point-in-time vintage snapshots cannot be re-downloaded, because they record what a source said on a given date. Those are preserved in the repository, which is why a clone is around 400MB rather than a few tens of megabytes: the alternative was a repository that cannot reproduce its own point-in-time claims.
scripts/slim_repository.py shows what is safe to remove and what is not, with a restore
command for every path. It defaults to a dry run.
Research only. Nothing in this repository is investment advice, and every configuration
carries live_trading_enabled: false.