2026년 9월 8일 화요일

[실과·사회·수학] 초등 모의투자 알고리즘 - 우리 반 AI 펀드매니저 만들기

수학 공식으로 주식을 굴린다! — 초등 모의투자 API 연동 우리 반 AI 펀드매니저 알고리즘

📈 초등 5~6학년 사회 '우리나라의 경제 발전', 수학 '비율과 통계', 실과 '알고리즘 설계' 융합 — 학생들이 100만 원의 가상 시드머니를 가지고 나만의 '투자 규칙(알고리즘)'을 코딩합니다. "어제보다 3% 떨어지면 매수", "목표 수익률 5% 도달 시 매도" 같은 단순한 수학적 조건문이 매일 가상 시장 데이터와 만나 포트폴리오 수익률을 계산하는 실전 금융·소프트웨어 융합 프로젝트입니다.

📖 한 줄 정의

심기 모드(데이터 임베딩): API 데이터를 미리 받아 HTML 파일 안 상수로 박아두는 방식(앱 실행 중 외부 통신 0).

학내망 원칙: 학생 개인정보(실명·의견·성적·상담 기록)의 외부 수집·저장·전송 금지(쿼리에 학생 데이터가 담기는 외부 API 호출 포함) — 일반 공개 쿼리의 외부 호출은 허용하며, 학생 배포본은 심기 폴백(EMBED 상수)을 항상 내장한다.

1. 3대 핵심 분석 비교표

무엇이 바뀌었나요? / 영역 초보자를 위한 쉬운 설명 이렇게 한번 써보세요!
도박형 주식 게임 vs 룰 기반 알고리즘 감(Feeling)으로 사고파는 대신, "언제 사고 언제 팔 것인가"의 수학적 조건문을 사전에 작성해 기계가 실행합니다. 조건 A: 변동률 -2% 이하 시 10주 매수 ➔ 조건 B: 수익률 +5% 시 전량 매도.
가상 시뮬레이션 시장 데이터 실제 금융 API 계좌 개설 없이, 최근 30일간의 가상 지수(KOSPI 시뮬레이션) 배열을 기반으로 안전하게 모의 운용합니다. '1초 만에 30일 투자 돌려보기' 버튼으로 백테스팅(과거 데이터 검증) 수행.
수익률 꺾은선 차트 자동 렌더링 복잡한 외부 차트 라이브러리 없이 순수 HTML5 Canvas로 나의 자산 변화 곡선을 직접 그립니다. 사회 시간 '합리적 소비와 투자' 토론 보고서 그래프 자료로 연계.

2. 핵심 아키텍처 해설

① 가상 주가 시계열 데이터: MARKET_PRICES 상수

// 30일간의 가상 친환경 기업 주가 추이 (심기 모드)
const MARKET_PRICES = [
  { day: 1, price: 50000 }, { day: 2, price: 49000 },
  { day: 3, price: 51500 }, { day: 4, price: 53000 },
  { day: 5, price: 52000 }, { day: 6, price: 48500 }
  // ... 30일치 주가 데이터 내장
];

금융 보안 인증서나 유료 증권 API 없이도 아이들이 실제 시장 변동을 체감할 수 있도록 정제된 시계열 데이터를 파일 상단에 심는 심기 모드(데이터 임베딩) 방식입니다.

② 펀드매니저 알고리즘 실행 루프

function runSimulation(buyDipRate, takeProfitRate) {
  let cash = 1000000; // 100만 원 시드머니
  let stockHoldings = 0;
  let avgBuyPrice = 0;
  
  MARKET_PRICES.forEach((today, i) => {
    if (i === 0) return;
    const prevPrice = MARKET_PRICES[i - 1].price;
    const changeRate = (today.price - prevPrice) / prevPrice;
    
    // 조건 1: 하락 매수 규칙
    if (changeRate <= buyDipRate && cash >= today.price * 5) {
      cash -= today.price * 5;
      stockHoldings += 5;
      avgBuyPrice = today.price;
    }
    // 조건 2: 목표 수익률 도달 익절 규칙
    const currentProfit = (today.price - avgBuyPrice) / avgBuyPrice;
    if (stockHoldings > 0 && currentProfit >= takeProfitRate) {
      cash += stockHoldings * today.price;
      stockHoldings = 0;
    }
  });
  return cash + (stockHoldings * MARKET_PRICES[MARKET_PRICES.length - 1].price);
}

입력한 두 개의 매개변수(매수 임계치, 매도 수익률)에 따라 컴퓨터가 매일매일 자동으로 매매 결정을 내리는 퀀트(Quant) 알고리즘의 기초를 배웁니다.

③ 순수 Canvas 자산 곡선 렌더링

외부 차트 CDN 호출 없이 캔버스 2D 컨텍스트의 lineTo() 수식으로 30일간의 자산 증감 곡선을 부드럽게 그려내어 학내망 원칙을 완벽히 준수합니다.

3. 초보자를 위한 바이브 코딩 실전 사용 예시

  1. 프롬프트 복사 — 아래 '제미나이 전용 에러 제로 프롬프트'를 복사합니다.
  2. 역질문 답변 — 제미나이가 묻는 가상 투자 종목(우주항공, 친환경에너지 등)에 답합니다.
  3. HTML 파일 실행 — 메모장에 붙여넣고 AI펀드매니저.html로 저장 후 더블클릭합니다.

제미나이 전용 에러 제로 프롬프트

[🚨 에러 방지 기본 안전장치]
1. 단일 HTML 파일 완결성: 외부 금융 API나 Chart.js 등 외부 라이브러리 없이 순수 바닐라 HTML/CSS/JS로 완성한다.
2. 심기 모드(데이터 임베딩): const MARKET_PRICES = [...] 상수에 30일치 가상 주가 데이터를 기본 내장한다.
3. 퀀트 알고리즘 인터페이스: 슬라이더 2개('하락 시 추가 매수 기준 %', '목표 수익 매도 기준 %')를 조작하면 '30일 백테스팅 실행' 버튼 클릭 시 즉시 최종 수익률(%)과 잔고를 도출한다.
4. 순수 Canvas 꺾은선 차트: 30일간의 일별 총자산 변화를 Canvas에 파란색 선 그래프로 렌더링한다.
5. 건전한 금융 교육 안내: 화면 하단에 '※ 투자는 원금 손실 위험이 있으며, 규칙 기반 분산 투자가 안전합니다' 교육용 안내문을 포함한다.
6. // TODO, /* 생략 */ 등의 미완성 코드는 절대 넣지 말고 끝까지 완성한다.

[❓ 역질문 유도]
코드를 즉시 작성하지 말고, 기획을 구체화하기 위한 다음 3가지 질문을 먼저 나에게 던져줘:
1. 가상으로 운용할 모의 주식 종목 이름(예: 미래우주로봇, 푸른지구에너지)은 무엇으로 할까요?
2. 기본 시드머니는 100만 원으로 고정할까요?
3. 최고 수익률을 기록한 친구의 알고리즘 규칙을 공유할 수 있는 '명예의 전당' 랭킹표도 포함할까요?

🎯 에디터 한줄평

"주식 투자 교육의 핵심은 돈을 버는 기술이 아니라, '감정에 휘둘리지 않고 정해진 규칙을 지키는 힘'을 기르는 것입니다. 아이들이 짠 작은 알고리즘 코드가 30일간의 파도를 헤치며 자산을 지켜내는 과정을 지켜보는 것, 이것이 진정한 미래 경제 문해력의 시작입니다."

📚 기술·교육 참고 링크

  • 알고리즘 트레이딩(Algorithmic Trading) 기초: 규칙 기반 의사결정과 백테스팅의 원리
  • 교육과정 연계: 초등 5~6학년 사회(우리나라의 경제 발전, 합리적 소비와 자산 관리), 수학(비율과 그래프), 실과(알고리즘 설계)