investment-decision-factory 발전 축 보고서¶
작성일: 2026-05-08
대상 스킬: C:\Users\ueber\.codex\skills\investment-decision-factory\SKILL.md
목표: 더 성공적인 종목, 수익이 날 확률이 높은 종목을 고르기 위해 현재 투자판단 프로세스가 발전해야 할 축을 MECE하게 정리하고, 각 축마다 개선, 추가, 수정, 축소할 내용을 문서화한다.
실행 메모¶
/goal 도구는 이전에 완료된 목표가 스레드에 남아 있어 새 목표 생성이 차단되었다. 대신 이번 요청을 작업 목표로 삼아 같은 절차로 수행했다. 6개 서브에이전트는 모두 gpt-5.5, xhigh로 병렬 조사했다. 별도의 fast 스위치는 제공되지 않아 병렬 실행으로 속도를 확보했다.
먼저 보는 결론¶
현재 investment-decision-factory는 이미 강한 부분이 있다. 세후 기대값, 차트 진입 게이트, 반례 감사, blocker 처리, 300차원 체크리스트, 최종 보고서 guard는 방향이 좋다. 다만 지금 구조는 "판단 누락을 막는 체계"에 가깝고, 앞으로는 "어떤 신호가 실제로 돈을 벌었는지 검증하고 다시 학습하는 체계"로 올라가야 한다.
가장 큰 보강 방향은 다섯 가지다.
- 데이터 원천을 제목 뉴스와 벤더 스냅샷에서 원문 공시, 실적 콜, 추정치 변화, 대체데이터, point-in-time 저장으로 끌어올린다.
- 회사 분석을 설명형 문장에서 사업모델, 해자, ROIC, owner FCF, 자본배분, variant view가 연결된 구조형 엔진으로 바꾼다.
- 종목 점수를 과거 검증 가능한 횡단면 알파 모델, 백테스트, walk-forward, 확률 보정으로 검증한다.
- 단일 종목 EV를 포트폴리오 손실분포, 상관관계, 팩터 쏠림, 세금 시나리오, 체결비용까지 반영한 목표비중으로 번역한다.
- 최종 보고서는 "주장, 근거, 숫자 영향, 반론, 무효화 조건, 사후 추적"이 한 줄로 이어지도록 claim 단위로 감사한다.
6명 전문가 조사 요약¶
| 전문가 역할 | 집중해서 본 부분 | 핵심 진단 | 가장 먼저 보강할 축 |
|---|---|---|---|
| 퀀트 리서치 책임자 | 팩터, 알파, 백테스트, 확률 보정 | 300차원은 많지만 반복 가능한 초과수익 검증층이 약하다 | 횡단면 알파 모델, point-in-time 백테스트, walk-forward |
| 펀더멘털 PM | 사업모델, 해자, ROIC, FCF, 경영진 | "왜 좋은 회사인가"를 구조적으로 판별하는 엔진이 얕다 | ROIC 품질, owner FCF, variant view, thesis tracking |
| 데이터 엔지니어 | 공시, 실적 원문, 추정치, 대체데이터 | 수집기는 20거래일 가격, yfinance, 뉴스 제목에 많이 의존한다 | SEC/XBRL, transcript, estimate revision, source registry |
| 트레이더 | 타이밍, 유동성, 체결, 갭 리스크 | 추격매수 방지는 있으나 실제 체결 품질과 장중 수급 판단이 약하다 | ATR 기반 stop, R multiple, 유동성, 이벤트 갭 리스크 |
| 리스크 매니저/CIO | 포트폴리오 손실분포, 상관, tail risk | 종목 단독 EV가 포트폴리오 drawdown으로 번역되지 않는다 | 상관관계, 팩터 쏠림, CVaR, risk-budget sizing |
| 투자위원회 감사역 | 보고서 설득력, 주장 추적성, 사후학습 | 최종 차단은 강하지만 근거 연결과 반론 품질 검사가 더 필요하다 | claim traceability, dissent handling, confidence calibration |
MECE 발전 축 지도¶
아래 42개 축은 서로 겹치지 않도록 6개 영역으로 나눴다. 각 축은 바로 스킬 명세, 데이터 스키마, 검증 스크립트, 최종 보고서 템플릿에 반영할 수 있는 단위다.
1. 데이터와 근거 인프라¶
| 번호 | 발전 축 | 개선할 부분 | 추가할 것 | 수정할 것 | 줄일 것 | 검증과 산출물 |
|---|---|---|---|---|---|---|
| 1 | 종목 식별자 통합 | ticker만으로 회사를 매핑하면 ADR, 우선주, 상장시장, 앱, 도메인이 섞일 수 있다 | CIK, FIGI, LEI, ISIN, 거래소, 도메인, 앱 ID, 채용 ATS slug를 묶는 master entity table | 후보 생성과 데이터팩 생성 단계에서 entity_id를 기준키로 사용 |
ticker-only 판정 | entity_match_status, cik, figi, lei, domains, app_ids |
| 2 | point-in-time 원천 저장 | 현재 스냅샷으로는 과거 판단 재현과 백테스트가 약하다 | 모든 데이터에 as_of, retrieved_at, accepted_at, content_hash 저장 |
캐시 재사용 조건과 source TTL을 소스별로 분리 | 기준일 없는 값 사용 | source_registry, source_ttl_hours, freshness_score, point_in_time_ok |
| 3 | 공시와 XBRL 수집 | SEC 링크만 붙고 실제 filing, XBRL facts가 분석에 충분히 들어오지 않는다 | SEC submissions, companyfacts, 10-K, 10-Q, 8-K, accession raw artifact | yfinance 재무값은 보조값으로 낮추고 XBRL 우선순위를 둔다 | vendor 값 단독 EV 계산 | xbrl_facts, latest_filings, fundamental_source_rank, vendor_diff_flags |
| 4 | 실적 원문과 transcript | 실적 발표와 Q&A에서 나온 숫자와 경영진 톤이 구조화되지 않는다 | 실적 보도자료, IR deck, transcript, Q&A topic, management claim 추출 | earnings_sources를 URL 목록에서 원문 단위 증거 묶음으로 바꾼다 |
뉴스 제목으로 실적 해석 | earnings_release, transcript_topics, qa_tone, management_claims |
| 5 | 가이던스와 추정치 변화 | 현재 목표가와 추천 평균은 정보우위보다 스냅샷에 가깝다 | 매출, EPS, 마진, capex, FCF 가이던스 range와 7/30/90일 컨센서스 revision | 목표가 bridge에 revision breadth와 dispersion 변화를 반영 | targetMeanPrice 단독 근거 |
guidance_revision, estimate_revision_30d, revision_breadth, dispersion_change |
| 6 | 뉴스 품질과 원문성 | Yahoo, Naver 제목 몇 개로 검토 완료처럼 보일 수 있다 | 1차 출처, 보도자료, 단순 재전송, 루머, opinion, 중복 여부 구분 | source_research_status를 원문성 등급과 연결 |
제목 뉴스로 verified 처리 |
news_quality_score, primary_source_flag, canonical_hash, event_taxonomy |
| 7 | 대체데이터와 수요 신호 | 회사와 제품의 실제 수요 변화가 재무제표보다 늦게 들어온다 | 웹 트래픽, 검색 관심도, 앱 리뷰, 가격 페이지, 채용 공고, 고객 리뷰, 커뮤니티 불만 | 업종별로 허용되는 대체데이터 템플릿을 다르게 적용 | 모든 업종에 같은 proxy 적용 | web_traffic_delta, app_rating_delta, hiring_velocity, pricing_snapshot, complaint_velocity |
2. 사업과 펀더멘털 해석¶
| 번호 | 발전 축 | 개선할 부분 | 추가할 것 | 수정할 것 | 줄일 것 | 검증과 산출물 |
|---|---|---|---|---|---|---|
| 8 | 사업모델 분해 | "무엇을 하는 회사인가" 설명이 매출 엔진으로 분해되지 않는다 | 매출 공식, 고객수, 사용량, 가격, take rate, 믹스, segment profit pool | business_model을 서술형에서 구조형으로 격상 |
회사 소개식 문장 | revenue_formula, segment_profit_pool, price_volume_mix, business_model_score |
| 9 | 단위경제 | 업종별 핵심 KPI와 수익성이 EV에 직접 연결되지 않는다 | SaaS, 반도체, 소비재, 바이오, 자동차 등 업종별 unit KPI 템플릿 | unit_economics를 필수 산식과 peer 비교로 바꾼다 |
KPI 이름만 나열 | unit_revenue, unit_gross_profit, cac_payback_months, utilization_rate |
| 10 | 해자와 지속기간 | 브랜드, 전환비용, 네트워크 효과가 경쟁강도 안에 묻힌다 | 해자 유형, 증거, 지속기간, 약화 위험 | competitive_intensity를 해자와 경쟁압력으로 분리 |
근거 없는 "브랜드 강함" | moat_type, moat_evidence, moat_duration_years, moat_decay_risk |
| 11 | 경쟁 전장 | peer 비교가 성장률과 밸류에이션 비교에 치우칠 수 있다 | 가격, 제품, 유통, 생태계, 규제, 원가곡선별 battlefield map | peer set 품질 점수와 점유율 변화 근거를 강제 | 부정확한 peer 묶음 | peer_set_quality, battlefield_map, share_gain_evidence, competitive_pressure_score |
| 12 | ROIC와 재투자 runway | 좋은 기업인지 판단할 때 ROIC-WACC spread와 재투자 규모가 핵심으로 들어오지 않는다 | NOPAT, invested capital, incremental ROIC, WACC proxy, reinvestment runway | quality 점수를 ROIC 지속성과 재투자 가능성 중심으로 재배열 | 단순 ROE, PBR 가점 | roic_5y_median, roic_wacc_spread, incremental_roic, reinvestment_runway |
| 13 | owner FCF와 회계 품질 | 보고 FCF와 주주에게 남는 현금이 다를 수 있다 | 유지 capex, SBC, 운전자본 정상화, accrual, DSO, 재고, 조정 EBITDA 품질 | free_cash_flow를 reported FCF와 owner earnings로 분리 |
조정 이익 무비판 사용 | owner_earnings, maintenance_capex, accrual_ratio, adjusted_earnings_quality |
| 14 | 경영진과 자본배분 | 경영진 평가와 자본배분이 EV 산식에 약하게 연결된다 | 가이던스 적중률, 보상체계, 내부자 매매, 자사주 평균단가, M&A 후 ROIC | 배당수익률보다 가치창출 여부를 우선한다 | 배당률만 보고 가점 | guidance_hit_rate, incentive_alignment, buyback_value_creation, mna_roic_after_deal |
| 15 | TAM과 variant view | 큰 시장이라는 말과 실제 접근 가능한 시장이 섞인다 | TAM, SAM, 단기 서비스 가능 시장, 침투율, 시장 기대와 다른 관점 | 투자 논리를 consensus belief와 variant evidence로 분리 | 과장된 TAM 수용 | tam_source_quality, sam_estimate, penetration_rate, variant_view, variant_realization_trigger |
3. 계량 알파와 검증¶
| 번호 | 발전 축 | 개선할 부분 | 추가할 것 | 수정할 것 | 줄일 것 | 검증과 산출물 |
|---|---|---|---|---|---|---|
| 16 | 팩터 노출 정량화 | value, quality, momentum, low vol, size가 항목으로는 있지만 실제 z-score가 약하다 | 후보별 팩터 z-score, 분위, 섹터 중립 점수 | 정성 판단을 factor exposure와 함께 표시 | 단순 "저평가", "모멘텀 좋음" | factor_scores, sector_neutral_factor_z, factor_percentile |
| 17 | 리스크 프리미엄 분해 | 기대수익이 베타, 섹터, 스타일 보상인지 고유 알파인지 불명확하다 | market beta, sector beta, style premia, idiosyncratic alpha 분해 | EV 표에 gross alpha와 residual alpha를 함께 표시 | 위험 프리미엄을 알파로 착각 | expected_return_decomposition, risk_premia_component, residual_alpha |
| 18 | 횡단면 알파 모델 | 후보군 안에서 어떤 신호가 승률을 높였는지 학습하지 않는다 | 후보 전체 point-in-time feature, forward return label, rank IC | 스코어를 사후 수익률과 연결해 가중치를 업데이트 | 한 번 정한 정성 가중치 고정 | cross_sectional_alpha_score, rank_ic, alpha_decile, hit_ratio |
| 19 | 백테스트 엔진 | 투자 성과 검증보다 실행 형식 검증이 강하다 | 과거 후보군 재구성, 거래비용, 세금, 슬리피지 포함 백테스트 | survivorship bias와 look-ahead bias 방지 계약 추가 | 현재 구성 종목으로 과거 테스트 | backtest_id, oos_return, max_drawdown, turnover_cost, bias_check |
| 20 | walk-forward 검증 | 한 번 만든 산식이 미래에도 유지되는지 검증하지 않는다 | train, validation, test를 굴리는 walk-forward | 파라미터 안정성을 모델 통과 조건에 포함 | in-sample 최적화 | walk_forward_window, oos_sharpe, parameter_stability |
| 21 | 확률 보정과 민감도 | bull/base/bear 확률이 실제 빈도와 맞는지 확인이 없다 | Brier score, calibration curve, 핵심 변수 반전점 | 기대값 결론에 확률 보정값과 민감도 표를 연결 | 단일 기대값만 제시 | probability_calibration_score, brier_score, sensitivity_table, break_even_point |
| 22 | 알파 붕괴와 capacity | 좋았던 신호가 crowding이나 비용으로 약해졌는지 모른다 | rolling IC, alpha decay, crowding, capacity limit | 신호가 약해지면 자동 haircut | 오래된 알파 신호 유지 | alpha_decay_status, rolling_ic_6m, crowding_penalty, capacity_limit |
4. 가격, 타이밍, 체결¶
| 번호 | 발전 축 | 개선할 부분 | 추가할 것 | 수정할 것 | 줄일 것 | 검증과 산출물 |
|---|---|---|---|---|---|---|
| 23 | price action 구조 | 20일 위치와 수익률만으로는 추세 구조가 부족하다 | HH/HL, LH/LL, failed breakout, reclaim, retest 라벨 | chart gate를 구조 라벨과 연결 | 단순 20일 위치 판정 | swing_structure, failed_breakout_flag, retest_status |
| 24 | 추세 품질과 상대강도 | 이동평균과 시장 대비 수익률이 충분히 세분화되지 않는다 | 20/50/60/120/200DMA slope, 5/20/60일 RS, 섹터 내 percentile | uptrend_intact를 slope와 RS가 뒷받침하게 수정 |
절대 수익률만 사용 | ma_alignment_score, slope_regime, rs_20d, sector_rs_percentile |
| 25 | 거래량 품질 | 거래량 증가가 매집인지 분산인지 구분이 약하다 | 상승일/하락일 거래량, distribution day, 종가 위치 | volume confirmation을 close location과 결합 | 거래량 배율 단독 해석 | up_down_volume_ratio, distribution_days_20d, close_location_value |
| 26 | 변동성과 stop | 최근 저점 2% 아래 같은 단순 무효화 가격은 종목별 변동성을 반영하지 못한다 | ATR%, realized vol percentile, ATR 기반 buffer, price stop과 thesis stop 분리 | 손절폭을 포지션 손실 한도와 연결 | 고정 퍼센트 stop | atr_14_pct, realized_vol_percentile, price_invalidation, risk_budget_krw |
| 27 | 유동성과 체결비용 | 슬리피지가 수동 입력이고 주문 규모 대비 시장충격이 약하다 | ADV, 주문/ADV 비율, spread proxy, market impact, FX cost | alpha는 총 friction 차감 후 판단 | 비용 0 가정 | adv_20d_krw, order_adv_pct, estimated_spread_bps, total_execution_cost_bps |
| 28 | 주문 실행 계획 | 목표비중은 나오지만 어떻게 살지의 품질 검사가 부족하다 | limit, VWAP, TWAP, 분할 주문, 상한가, 실패 시 대안 | 실행 표에 주문 조건과 무효화 가격 필수화 | 금액만 있는 액션 | order_type, limit_price, execution_window, execution_fallback |
| 29 | 이벤트 갭 리스크와 옵션 포지셔닝 | 실적, FOMC, FDA, 규제 이벤트 직전 갭 위험과 옵션 수급이 약하다 | 10거래일 이벤트 캘린더, IV percentile, skew, put/call, short interest | 이벤트 전 매수는 size cap 또는 post-event wait로 수정 | 이벤트 직전 무조건 매수 | event_calendar_10d, gap_risk_level, iv_percentile, short_interest_pct_float |
5. 포트폴리오, 위험, 세금¶
| 번호 | 발전 축 | 개선할 부분 | 추가할 것 | 수정할 것 | 줄일 것 | 검증과 산출물 |
|---|---|---|---|---|---|---|
| 30 | downside 확률과 drawdown 예산 | EV가 양수여도 손실분포가 나쁘면 실제 포트폴리오에는 부적합할 수 있다 | 약세 확률, -10/-20/-30% 도달확률, 예상 MDD, 포트폴리오 MDD 기여도 | 목표비중에 drawdown budget haircut 반영 | 평균 EV 단독 판단 | downside_prob, expected_loss_pct, standalone_mdd_pct, portfolio_mdd_contribution_pct |
| 31 | 상관관계와 중복 노출 | 보유 종목과 같은 방향으로 같이 깨질 위험이 숫자로 약하다 | 상위 보유, 시장 ETF, 섹터 ETF, 테마 basket과 60/120/252일 상관 | 고상관 추가매수는 haircut 또는 blocker | 단일 종목만 보고 비중 결정 | corr_top_holding_max, corr_sector_120d, theme_overlap_pct, correlation_haircut_pct |
| 32 | 팩터와 테마 집중 | 성장, AI, 반도체, 고베타 같은 공통 위험이 합산되지 않는다 | value, growth, quality, beta, momentum, theme exposure 합산 | 목표비중 산식에 factor crowding penalty 반영 | 테마 중복을 분산처럼 표현 | factor_exposure, factor_crowding_score, theme_weight_after, factor_haircut_pct |
| 33 | tail risk와 스트레스 | bull/base/bear만으로는 꼬리손실을 충분히 보지 못한다 | CVaR, expected shortfall, 시장 -10%, 섹터 -15%, 금리, 환율, 실적 미스 스트레스 | 스트레스 EV가 음수면 실행 액션을 보류 또는 강등 | 정상장 평균만 사용 | cvar_95_pct, expected_shortfall_krw, stress_cases, worst_stress_ev_pct |
| 34 | 세후 EV 정밀화 | 기대 양의 이익에 공제를 적용하는 단순형은 시나리오별 세금 차이를 놓칠 수 있다 | tax lot, 손실상계, 이미 실현한 손익, 배당세, 환전비용, 시나리오별 세금 | 세후 EV 표를 시나리오별 원화 기준으로 검산 | 세금 평균값 한 번 적용 | scenario_after_tax_return, tax_drag_pct, deduction_used_by_scenario, fx_cost_krw |
| 35 | 포지션 사이징 | EV 기반 목표비중이 손실한도, 변동성, 상관, 확신도를 충분히 반영하지 않는다 | fractional Kelly, volatility targeting, drawdown budget, liquidity cap | 최종 목표비중은 여러 사이징 후보 중 보수적 최소값으로 결정 | EV만 높은 종목 과대비중 | kelly_fraction, vol_target_weight, risk_budget_weight, final_sizing_method |
| 36 | 포트폴리오 최적화 | 후보별 점수는 있어도 전체 포트폴리오 목적함수가 약하다 | 세후 EV 최대화에 섹터, 국가, 통화, 팩터, single-name risk 제약 | 단일 Best 1뿐 아니라 marginal contribution을 계산 | 순위표만 보고 매수 | optimizer_objective, constraint_set, marginal_risk_contribution, optimized_weight |
| 37 | 매도 원칙과 헤지 | 매도, 보유, 헤지의 기대값 비교가 더 정교해야 한다 | thesis invalidation, valuation exit, time stop, trailing stop, hedge cost-benefit | 매도는 세후 초과 기대값 양수일 때만, 헤지는 비용 차감 후만 | 리스크 축소만으로 매도 | sell_trigger_type, thesis_invalidated, hedge_cost_pct, hedge_net_ev_pct |
6. 보고서, 감사, 학습 루프¶
| 번호 | 발전 축 | 개선할 부분 | 추가할 것 | 수정할 것 | 줄일 것 | 검증과 산출물 |
|---|---|---|---|---|---|---|
| 38 | 투자 논리와 근거 추적성 | 좋은 문장이라도 어떤 근거와 숫자에 연결되는지 불명확할 수 있다 | thesis statement, key assumptions, claim id, evidence id, EV linkage | "살 이유"와 "팔 이유"를 claim 단위로 구조화 | 출처 없는 촉매 단정 | thesis_statement, claim_id, evidence_ids, claim_impact, ev_linkage |
| 39 | 설명 가능한 decision bridge | 증거, gate, EV, 액션이 한눈에 이어지는 표가 필요하다 | pre-EV, gate contribution, post-EV, action reason code | 최종 보고서에 숫자 조정 전후를 보여준다 | "반영했다"만 쓰는 문장 | decision_bridge, gate_contribution, pre_ev, post_ev, action_reason_code |
| 40 | 반대 논리와 합의 실패 설명 | red-team 결과가 통과 여부 중심이면 반론의 강도가 묻힌다 | strongest countercase, dissent persona, EV impact, repair action | 반론은 none, haircut, veto, blocker로 분류 | "리스크 있음" 수준의 빈 반론 | strongest_countercase, countercase_impact, dissent_reason, repair_action |
| 41 | 확신도와 언어 과장 방지 | 확신도 수치와 표현 강도가 근거 품질에 맞춰지지 않을 수 있다 | confidence level, confidence reason, uncertainty drivers, 금지 표현 가드 | 근거 등급이 낮으면 표현 강도와 목표비중을 자동 낮춘다 | 반드시, 확정, 압도적 같은 단정 | confidence_level, calibration_band, language_risk_flags, allowed_wording |
| 42 | 판단 로그와 superseded 관리 | 오래된 판단이 새 계산과 충돌해도 남을 수 있다 | decision id, supersedes, changed fields, change reason | 최신 EV와 충돌하는 로그는 superseded 또는 rejected 상태로 바꾼다 | 과거 판단 방치 | decision_id, supersedes, changed_fields, change_reason, audit_trail |
| 43 | 사후 모니터링과 성과 기여 | 추천 후 어떤 신호가 돈을 벌었는지 닫히지 않는다 | ¼/12주 수익률, max adverse excursion, forecast error, signal PnL | 성과 기여를 다음 모델 가중치에 반영 | 추천 후 방치 | realized_return_4w, max_adverse_excursion, forecast_error_reason, signal_pnl_contribution |
| 44 | 페르소나 독립성과 감사 품질 | 여러 전문가가 이름만 다르고 같은 체크를 반복할 수 있다 | 페르소나별 고유 질문, minority report, overlap rate | 만장일치보다 독립적 반대 논리의 품질을 평가 | 형식적 pass/fail | persona_unique_findings, overlap_rate, minority_report, review_quality_score |
| 45 | 구현 계약과 strict gate | 새 필드가 문서에만 있고 schema, validator, report, guard에 빠질 수 있다 | schema, scaffold, validator, final report, guard 동시 변경 체크리스트 | additionalProperties 허용 구간을 줄이고 핵심 필드는 누락 시 실패 |
문서만 업데이트 | contract_version, required_field_status, validator_passed, guard_blocker_reason |
우선순위 로드맵¶
| 단계 | 우선순위 | 이유 | 먼저 손댈 파일과 산출물 |
|---|---|---|---|
| 1단계 | 데이터 원천과 blocker 강화 | 잘못된 입력으로 좋은 모델을 돌리면 결론이 오염된다 | build_data_pack.py, source registry, freshness gate, proxy_pass_flags |
| 2단계 | 펀더멘털 구조화 | 장기 승자는 가격 차트보다 사업의 질에서 먼저 갈린다 | business model schema, ROIC/owner FCF, variant view, thesis tracking |
| 3단계 | 계량 검증층 | 어떤 신호가 실제 forward return을 높였는지 증명해야 한다 | alpha dataset, point-in-time backtest, walk-forward, probability calibration |
| 4단계 | 포트폴리오 위험과 체결 | 좋은 종목도 나쁜 크기와 나쁜 가격에 사면 결과가 나빠진다 | CVaR, correlation, factor crowding, sizing optimizer, execution plan |
| 5단계 | 보고서와 학습 루프 | 투자위원회가 납득하고, 틀렸을 때 다음 판단이 좋아져야 한다 | claim traceability, decision bridge, dissent handling, post-trade attribution |
명시적으로 줄이거나 삭제할 관행¶
| 대상 | 왜 줄여야 하나 | 대체 방식 |
|---|---|---|
| Yahoo/Naver 제목 몇 개로 원문 검증 완료 처리 | 제목만으로는 실적, 가이던스, 이벤트 원인을 검증하기 어렵다 | 원문 공시, 보도자료, transcript, 기사 본문 원문성을 claim 단위로 연결 |
targetMeanPrice 중심 기대수익 |
기준일, revision history, dispersion이 없으면 컨센서스 변화가 보이지 않는다 | estimate revision, valuation bridge, reverse DCF, scenario target으로 분해 |
keyword 기반 dimension_status 통과 |
실제 데이터가 없어도 검토 완료처럼 보일 수 있다 | 필수 원문 없는 차원은 blocked 또는 proxy_only로 표시 |
| 단일 EV 숫자만으로 액션 판단 | 확률, 세금, tail risk, 상관, 체결비용에 민감하다 | 시나리오별 세후 EV, 민감도, CVaR, stress 결과를 함께 제시 |
| EV만 높은 종목에 큰 목표비중 | 포트폴리오 중복 위험과 손실분포가 무시된다 | Kelly, 변동성, drawdown, 상관, 유동성 cap의 보수적 최소값 |
| 형식적 red-team 통과 | 반론이 숫자를 바꾸지 않으면 실제 의사결정력이 약하다 | 반론별 EV 영향, 비중 변화, veto 여부를 필수화 |
| 과장된 최종 문장 | 설득력은 커질 수 있지만 사실성과 재현성이 떨어진다 | 주장 강도를 근거 등급과 confidence calibration에 맞춘다 |
스킬 반영 방식¶
다음 스킬 업데이트 때는 문서 한 곳만 고치면 안 된다. 각 발전 축은 최소 다섯 곳에 동시에 반영되어야 한다.
SKILL.md의 실행 계약과 필수 산출물- 데이터팩 생성기와 원천 저장 구조
- 결과 JSON schema와 scaffold
validate_run.py,final_answer_guard.py, persona reviewer의 strict gate- 최종 보고서 템플릿과 사후 판단 로그
이 다섯 곳 중 하나라도 빠지면 "좋은 아이디어가 문서에는 있지만 실제 실행에서는 빠지는" 문제가 반복된다.
남은 결정 질문¶
| 질문 | 왜 필요한가 | 기본 가정 |
|---|---|---|
| 한국과 미국 중 어느 시장을 먼저 고도화할 것인가 | 공시, 추정치, 대체데이터 접근성이 다르다 | 미국 먼저 SEC/XBRL로 기준 엔진을 만들고 한국에 맞게 이식 |
| 유료 데이터 사용을 허용할 것인가 | 컨센서스 revision, transcript, 실시간 호가, 옵션 데이터 품질이 달라진다 | 무료 데이터 우선, 유료 데이터는 adapter만 열어둠 |
| 목표 투자 기간은 무엇인가 | 퀀트 신호, 차트 gate, thesis tracking 주기가 달라진다 | 3개월, 6개월, 12개월을 모두 산출하되 기본 결론은 6-12개월 |
| 최대 허용 drawdown과 단일 종목 한도는 얼마인가 | 목표비중 산식과 매도 기준에 직접 들어간다 | 한도 미지정 시 보수적 cap과 stress haircut 적용 |
| 보고서가 매수 설득용인지 투자위원회 감사용인지 | 문장 밀도와 반론 비중이 달라진다 | 둘 다 만족하도록 30초 요약과 감사 로그를 분리 |
참고한 내부 파일¶
C:\Users\ueber\.codex\skills\investment-decision-factory\SKILL.mdC:\Users\ueber\.codex\skills\investment-decision-factory\references\mece-stock-analysis-taxonomy.mdC:\Users\ueber\.codex\skills\investment-decision-factory\references\expert-persona-checklist-map.mdC:\Users\ueber\.codex\skills\investment-decision-factory\scripts\build_data_pack.pyC:\Users\ueber\.codex\skills\investment-decision-factory\scripts\tax_ev_calculator.pyC:\Users\ueber\.codex\skills\investment-decision-factory\scripts\validate_run.pyC:\Users\ueber\.codex\skills\investment-decision-factory\scripts\final_answer_guard.py
참고한 외부 자료¶
- SEC EDGAR APIs: https://www.sec.gov/edgar/sec-api-documentation
- SEC Developer Resources: https://www.sec.gov/about/developer-resources
- Fama and French, A Five-Factor Asset Pricing Model: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2287202
- Carhart, On Persistence in Mutual Fund Performance: https://onlinelibrary.wiley.com/doi/10.1111/j.1540-6261.1997.tb03808.x
- Jegadeesh and Titman, Returns to Buying Winners and Selling Losers: https://doi.org/10.1111/j.1540-6261.1993.tb04702.x
- CFA Institute, Portfolio Risk and Return: https://www.cfainstitute.org/insights/professional-learning/refresher-readings/2026/portfolio-risk-return-part-1
- BIS, Fundamental review of the trading book: https://www.bis.org/publ/bcbs265.pdf
- OpenFIGI API documentation: https://www.openfigi.com/api/documentation
- GLEIF API: https://www.gleif.org/en/lei-data/gleif-api
- Greenhouse Job Board API: https://developer.greenhouse.io/job-board.html
- Lever Postings API: https://github.com/lever/postings-api
- Google Play reviews API: https://developers.google.com/android-publisher/api-ref/rest/v3/reviews/list
- Apple App Store customer reviews API: https://developer.apple.com/documentation/appstoreconnectapi/get-v1-apps-id-customerreviews