extqnt - modrpc/info GitHub Wiki

 

๊ฐ„๋‹จํ•œ ์‚ฌ์šฉ ์„ค๋ช…์„œ

1. QuantKim ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•œ ๊ณผ๊ฑฐ data ์—๋ฎฌ๋ ˆ์ด์…˜

1.1. python cewaaRun.py ? : ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” argument๋ฅผ ๋ณด์—ฌ์คŒ

    - quiet : ์›ฌ๋งŒํ•˜๋ฉด ์‚ฌ์šฉ
    - debug, verbose๋Š” ์—๋ฎฌ ๊ธฐ๊ฐ„์„ ์ขํ˜€์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์ง
      (์–ด๋–ค ์‹์œผ๋กœ ์—๋ฎฌ๋ ˆ์ด์…˜์ด ์ง„ํ–‰๋˜๋Š”์ง€ ์ง„ํ–‰ ๊ณผ์ •์„ ๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ,
       ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ ์ดํ›„์—๋Š” ์‚ฌ์šฉํ•ด์•ผ ํ•  ํ•„์š”์„ฑ์ด ๋Œ€๊ฐœ์˜ ๊ฒฝ์šฐ ์—†์Œ)
    - report๋Š” ์ข…๋ชฉ ์ถ”์ถœ ํˆด๋กœ ์“ธ ์ˆ˜ ์žˆ์Œ 
    - plot, plotlog : ์ˆ˜์ต๋ฅ ์„ ์„ ํ˜• ํ˜น์€ ๋กœ๊ทธ ์Šค์ผ€์ผ๋กœ ๋ณด์—ฌ์คŒ, ์•„๋ž˜ ๊ทธ๋ฆผ์€ Kospi
    - d=startDate,endDate : ์—๋ฎฌ๋ ˆ์ด์…˜ ๊ธฐ๊ฐ„, ์˜ˆ : 2004/01 ~ 2016/12 -> d=04/01,16/12
      d=startDate,baseDate,endDate : baseDate์— ์„ ์ •ํ•œ ์ข…๋ชฉ๋“ค์˜ ์‚ฌ์ „ & ์‚ฌํ›„ ์ˆ˜์ต๋ฅ  ๋ณ€ํ™” ๋ณด์—ฌ์คŒ
    - useFnguide : QuantKim ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋‹Œ fnGuide ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ
      QuantKim ๋ฐ์ดํ„ฐ๋Š” ~ 2016/12 ๊นŒ์ง€, fnGuide ๋ฐ์ดํ„ฐ๋Š” ์œ ๋ฃŒ(๋ถ„๊ธฐ์— 10๋งŒ์›), 2011/09 ~ ์œ ํšจํ•จ
    - cyc=i : ๋งค๋งค ๊ต์ฒด ๊ธฐ๊ฐ„ (๊ฐœ์›”), default๋Š” 3
    - mcap=i,j : ์‹œ์ด ํ•„ํ„ฐ, sales=i,j : ๋งค์ถœ์•ก ํ•„ํ„ฐ, asset=i,j : ์ด์ž์‚ฐ ํ•„ํ„ฐ
      ๋‹จ์œ„ ์–ต์›, default๋Š” 100์–ต์› ~ 900์กฐ์›, ํšŒ์‚ฌ ๊ทœ๋ชจ๋ฅผ ์ง€์ •ํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ๋ฐฉ๋ฒ•
    - debtr=i : ๋ถ€์ฑ„๋น„์œจ ์ตœ๋Œ€์น˜, ์ฆ‰ <= debtr, ๋‹จ์œ„ %, defalut๋Š” 100%
    - crntr=i : ์œ ๋™๋น„์œจ ์ตœ์†Œ์น˜, ์ฆ‰ >= crntr, ๋‹จ์œ„ %, default๋Š” 200%
    - roe=i,j : ROE ๋ฒ”์œ„, ๋‹จ์œ„ %, ๋„“ํžˆ๋ฉด 1 ~ 50 ์ •๋„, ์ขํžˆ๋ฉด 5 ~ 20 ์ •๋„ ์ถ”์ฒœ
      roa=i,j : ROA ๋ฒ”์œ„, ๋‹จ์œ„ %
    - incsales=i : ์ตœ์†Œ ๋งค์ถœ์•ก ์ฆ๊ฐ€์œจ, ๋‹จ์œ„ %,
          ์ฆ๊ฐ€์œจ์€ ์ „๋ถ„๊ธฐ ๋Œ€๋น„, ์ „๋…„๋„ ๋™๋ถ„๊ธฐ ๋Œ€๋น„, ์ „๋…„๋„ ๋™๊ธฐ (1๋…„ ๋ˆ„์ ) ๋Œ€๋น„์˜ ์…‹ ๋ชจ๋‘ ๋น„๊ต
      incprofit=i : ์ตœ์†Œ ์˜์—… ์ด์ต ์ฆ๊ฐ€์œจ, ๋‹จ์œ„ %, ์ฆ๊ฐ€์œจ ๋น„๊ต๋Š” ์œ„์™€ ๋™์ผ
      incebitda=i : ์ตœ์†Œ EBITDA ์ด์ต ์ฆ๊ฐ€์œจ, ๋‹จ์œ„ % (fnGuide ๋“ฑ์—์„œ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ๋Š” ์–ด๋ ค์›€)
      incearn=i : ์ตœ์†Œ ์ˆœ์ด์ต ์ฆ๊ฐ€์œจ, ๋‹จ์œ„ %
    * incsales์™€ ๋‹ค๋ฅธ ์„ธ inc ์ด์ต๋ฅ˜๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ์ ์šฉ
    - mmt=i[,j] : ๋ชจ๋ฉ˜ํ…€ ํ•„ํ„ฐ, ๋‹จ์œ„๋Š” ๊ฐœ์›”, ์˜ˆ : mmt=3 -> 3 ๊ฐœ์›”, mmt=6,12 -> 6 ~ 12 ๊ฐœ์›” ํ‰๊ท 
    - mmtKospi : Kospi ๋ชจ๋ฉ˜ํ…€์„ ํ•„ํ„ฐ ์‚ฌ์šฉ (MDD๋Š” ํ™•์‹คํžˆ ์ค„์ง€๋งŒ ์ˆ˜์ต๋ฅ ๋„ ํ•จ๊ป˜ ์ค„๊ธฐ์— ๋น„์ถ”)
    - age : ์ƒ์žฅ ์ดํ›„ ๊ธฐ๊ฐ„, ๋‹จ์œ„ ๋…„
    - vol : ์ผ ํ‰๊ท  ๊ฑฐ๋ž˜ ๋Œ€๊ธˆ, ๋‹จ์œ„ ๋ฐฑ๋งŒ์› (๋งค์›” ๋งˆ์ง€๋ง‰ 5 ์˜์—…์ผ ํ‰๊ท ์œผ๋กœ ๊ณ„์‚ฐํ–ˆ์Œ)
    - exam, exam=examStr : exam๋งŒ ์“ฐ๋ฉด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” examStr๋“ค์„ ๋ณด์—ฌ์คŒ
    - pbb=i,j : PRB ๋ฒ”์œ„, PER, POR, PCR, PSR, PDR ๋ชจ๋‘ ๋™์ผ ํ˜•์‹
                EER(EV/EBITDA), MER(์‹œ์ด/EBITDA), GPA ์™€ ๋…๋ฆฝ์ ์œผ๋กœ ์ ์šฉ
    - pbp=i,j : PBR ์ˆœ์œ„๋ฅผ ๋งค๊ฒจ์„œ i ~ j ๋ฒˆ์งธ ์„ ํƒ, ๋‚˜๋จธ์ง€ ์„ค๋ช… ์œ„์™€ ๋™์ผ
    - pe%=i,j : PBR ์ˆœ์œ„๋ฅผ ๋งค๊ฒจ์„œ ๋ฒ”์œ„๋ฅผ %๋กœ ์„ ํƒ, ๋‚˜๋จธ์ง€ ์„ค๋ช… ์œ„์™€ ๋™์ผ
    - ์ง€ํ‘œ+์ง€ํ‘œ=i,j ์‚ฌ์šฉ์˜ˆ : pb+mmt=i -> PBR ์ˆœ์œ„๋ฅผ ๋งค๊ธฐ๊ณ  ๋ชจ๋ฉ˜ํ…€ ์ˆœ์œ„๋ฅผ ๋งค๊ฒจ์„œ ๋”ํ•ด์„œ ๋‹ค์‹œ ์ •๋ ฌ

1.2. examStr : ์กฐ๊ฑด๋“ค์„ ์ผ๋ถ€ ๋ชจ์•„ ์ด๋ฆ„์„ ๋ถ™์ธ ๊ฒƒ๋“ค

    - noCond : ์กฐ๊ฑด์ด ์‚ฌ์‹ค์ƒ ์—†์Œ (์ด๊ฒƒ์œผ๋กœ๋„ ํƒˆ๋ฝ๋˜๋Š” ์ข…๋ชฉ์€ ์žˆ์Œ)
    - ?PBR : ์ €ํ‰๊ฐ€ ๊ฐ€์น˜์ฃผ ์กฐ๊ฑด๋“ค์„ ๋ช‡ ๊ฐœ ์‹œํ—˜ํ•œ ๊ฒƒ๋“ค
    - true? : ๊ณ ํ‰๊ฐ€๋Š” ์•„๋‹˜ + ์˜์—… (ํ˜น์€ EBITDA ํ˜น์€ ์ˆœ) ์ด์ต  25% ์ƒ์Šน
    - hybrid : GPA (gross profit/ asset) + PBR ์ €ํ‰๊ฐ€ (๊ฐ•ํ™˜๊ตญ ์ฐธ์กฐ)
    - bigmmt : ๋Œ€ํ˜• ํšŒ์‚ฌ๋“ค ์ค‘์—์„œ 3 ~ 12 ๊ฐœ์›” ๋ชจ๋ฉ˜ํ…€์ด ๋†’์€ ํšŒ์‚ฌ, 3 ์œ„ ์ด์ƒ๋งŒ ์˜๋ฏธ

1.3. ์—๋ฎฌ ์˜ˆ์ œ

    - bat\c4.bat : 2004/01 ~ 2016/12 + %*
      ์˜ˆ : c4 exam=3rdpbr plotlog, ์•„๋ž˜์™€ ๋™์ผ
           python cewaaRun.py quiet d=04/01,16/12 exam=3rdpbr plotlog
    - bat\c3.bat : 2013/01 ~ today(month) + %*
      ์˜ˆ : c3 exam=3rdpbr plotlog, c3.bat ๋‚ด์šฉ์„ ๋ณด๋ฉด ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด fnGuide ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•จ

1.4. ๊ฒฐ๊ณผ ํ•ด์„

    - i(์—๋ฎฌ๋ ˆ์ด์…˜ ๊ธฐ๊ฐ„) : i ๋Š” ์‹ค์ œ ๊ต์ฒด ๋งค๋งค ํšŒ์ˆ˜
    - C:i%(j%) : i๋Š” CAGR(์—ฐ ์ด์œจ), j๋Š” ์ด ์ด์œจ
    - E:i(k%,m%,n%) : i๋Š” ๋ฆฌ์Šคํฌ ๋Œ€๋น„ ๊ธฐ๋Œ€์น˜ (ํŽœํด๋“œ ์ฐธ์กฐ, ํŽœํด๋“œ๋Š” ๊ทธ๋ƒฅ ๊ธฐ๋Œ€์น˜๋ผ๊ณ  ๊ธฐ์ˆ ํ–ˆ์Œ),
      k๋Š” ์Šน๋ฅ , m์€ ์ด๊ฒผ์„ ๋•Œ ํ‰๊ท  ์ด์ต, n์€ ์กŒ์„ ๋•Œ ํ‰๊ท  ์†์‹ค
    - R:i%,j : i๋Š” MDD (maximum drawdown), j๋Š” MTUW (maximum time under water), ๋‹จ์œ„๋Š” ๊ฐœ์›”
    - ํšŒ์‚ฌ์ˆ˜[i .. j] : ๋ง ๊ทธ๋Œ€๋กœ ์„ ํƒ๋œ ํšŒ์‚ฌ์ˆ˜, ํšŒ์‚ฌ ์ด๋ฆ„์„ ๋ณด๊ณ  ์‹ถ์œผ๋ฉด report ์‚ฌ์šฉ
    - ํŒŒ์‚ฐ ํšŒ์‚ฌ์ˆ˜ : ํšŒ์‚ฌ์˜ ์ฃผ๊ฐ€๊ฐ€ ๊ฐ‘์ž๊ธฐ ์‚ฌ๋ผ์ง„ ๊ฒฝ์šฐ
      ๊ผญ ํŒŒ์‚ฐ์ด ์•„๋‹ˆ๋ผ ํ•ฉ๋ณ‘ ๋“ฑ๋„ ์žˆ๋Š”๋ฐ, ์ฒ˜๋ฆฌ๊ฐ€ ๊ท€์ฐฎ์•„์„œ 0 ์ฒ˜๋ฆฌํ•จ
    - plot, plotlog ์‚ฌ์šฉ์‹œ ๋งˆ์ง€๋ง‰ ๋ผ์ธ์— ๊ฐ™์€ ๊ธฐ๊ฐ„์˜ Kospi ๋ฐ์ดํ„ฐ๋ฅผ ๋ฒค์น˜๋งˆํฌ๋กœ ํ‘œ์‹œ
    * ๊ฑฐ๋ž˜ ๋น„์šฉ (์„ธ๊ธˆ, ์ˆ˜์ˆ˜๋ฃŒ, ์Šคํ”„๋ ˆ๋“œ ๋“ฑ) ๊ณผ ๋ฐฐ๋‹น์€ ๊ณ„์‚ฐ์— ํฌํ•จํ•˜์ง€ ์•Š์Œ
      addDvnd๊ฐ€ ๋ฐฐ๋‹น ๊ฐ€์‚ฐ ์˜ต์…˜์ธ๋ฐ, ๊ต์ฒด ๊ธฐ๊ฐ„์— 6์›”์ด ๋“ค์–ด๊ฐ€์•ผ ์œ ํšจ (6์›”์— ๊ฐ€์‚ฐ)
    * ๊ณผ๊ฑฐ์˜ ๋ฐ์ดํ„ฐ๋Š” ๊ณผ๊ฑฐ์˜ ๋ฐ์ดํ„ฐ์ผ ๋ฟ, ๊ณผ์ตœ์ ํ™”๊ฐ€ ์•„๋‹Œ์ง€ ์˜์‹ฌํ•ด์•ผ ํ•จ
    - ์ข‹์€ ์ „๋žต : ๋–จ์–ด์งˆ ๋•Œ๋Š” ์ง€์ˆ˜ ์ •๋„ ํ˜น์€ ์•ฝ๊ฐ„ ๋” ๋–จ์–ด์ง€๋˜, ์ข‹์„ ๋•Œ๋Š” ์ •๋ง ์ข‹์€ ๋•Œ๊ฐ€ ์žˆ์–ด์•ผ ํ•จ
    - 2017๋…„ ๋ถ€๊ทผ์— ํ€€ํŠธ ๋ฐ”๋žŒ์ด ๋ถˆ์–ด์„œ ๊ทธ ๋ถ€๊ทผ์„ ๊ฒฝ๊ณ„๋กœ ์ €ํ‰๊ฐ€ ๊ฐ€์น˜ ์ „๋žต๋“ค์˜ ํšจ๋ ฅ์ด ๋งŽ์ด ๋‚˜๋น ์กŒ์Œ
      ๋น„์Šทํ•œ ์˜ˆ๋กœ trading์— ์žˆ์–ด์„œ, 2007๋…„์„ ๊ฒฝ๊ณ„๋กœ ์ง€์ˆ˜ ์ถ”์„ธ ์ถ”์ข… ์ „๋žต์˜ ํšจ๋ ฅ์ด ํ™• ๋‚˜๋น ์กŒ์Œ
      -> ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ์‰ฝ๊ฒŒ ๋”ฐ๋ผํ•  ์ˆ˜ ์žˆ๋Š” ์ „๋žต์€ ์œ ํšจ์„ฑ์ด ์ง€์†์ ์œผ๋กœ ๋–จ์–ด์งˆ ๊ฐ€๋Šฅ์„ฑ ์žˆ์Œ
         ๋ฌธ์ œ๋Š” 5๋…„์— ํ•œ ๋ฒˆ์ฏค ๋น›๋‚˜๋Š” ์ „๋žต์„ ๋‚ด๊ฐ€ ์ง„์ง€ํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์„๊นŒ? ์˜ˆ : bigMmt
    - ์ €ํ‰๊ฐ€ ๊ฐ€์น˜์ฃผ ์ „๋žต์€ ์ดˆ๊ณผ ์ˆ˜์ต์ด ์ฒœ์ฒœํžˆ ๋–จ์–ด์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ž„
      ์†Œํ˜•์ฃผ์™€ ์ €ํ‰๊ฐ€ ๊ฐ€์น˜์ฃผ๋Š” ์ง€์ˆ˜๊ฐ€ ์ •์ ์„ ์ฐ๊ณ  ํ•˜๋ฝํ•  ๋ฌด๋ ต ๋’ค๋Šฆ๊ฒŒ ์ •์ ์„ ์ฐ๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์Œ
      ์ฆ‰, ์ง€์ˆ˜์˜ ์›€์ง์ž„์„ ์ฐธ์กฐํ•˜๋ฉด ์กฐ๊ธˆ ๋” ๋‚˜์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ์€ ์žˆ์Œ
      (์ง€์ˆ˜๊ฐ€ ํ™•์‹คํžˆ ํ•˜ํ–ฅํ•œ ๋‹ค์Œ์— ์ฒญ์‚ฐํ•˜๋Š” ์‹์œผ๋กœ)
    - ์ „๋žต์— ๋”ฐ๋ผ์„œ ์‹œ์ž‘์›”์ด ์ค‘์š”ํ•œ ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Œ
      ์˜ˆ : bigMmt์˜ ๊ฒฝ์šฐ /01 ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ๊ณผ /02, /03 ์ด ์ฐจ์ด๊ฐ€ ๋งŽ์Œ
      ์‹ค์  ๋ฅ˜๋„ ๋งˆ์ฐฌ๊ฐ€์ง€ (ideal์ด ๊ทธ๊ฒƒ์„ ์กฐ๊ธˆ ๋” ํ™•์ธํ•ด ๋ณด๊ธฐ ์œ„ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ)
    - ๊ต์ฒด ๊ธฐ๊ฐ„์€ 3๊ฐœ์›”์ด ๊ธฐ๋ณธ์ธ๋ฐ, ์ €ํ‰๊ฐ€ ๊ฐ€์น˜์ฃผ์˜ ๊ฒฝ์šฐ ๊ธฐ๊ฐ„์„ ๋Š˜๋ ค๋„ ์œ ํšจ์„ฑ์ด ๋‚จ์•„ ์žˆ์Œ
      ๊ธฐ๊ฐ„์„ ๋Š˜๋ฆฌ๋ฉด ์‹ค์ ์€ ๋–จ์–ด์ง€์ง€๋งŒ ๋Œ€์‹  ๊ฑฐ๋ž˜ ๋น„์šฉ๋„ ๊ฐ์†Œํ•˜๋Š” ํšจ๊ณผ๊ฐ€ ์žˆ์Œ
    - DART์— ์˜ฌ๋ ค์•ผ ํ•˜๋Š” ์˜๋ฌด ๊ธฐ๊ฐ„ : ์ „๋…„๋„ : 3/31, ๊ฐ ๋ถ„๊ธฐ : 5/15, 8/15, 11/15
      fnGuide ์‹ค์  ์†๋ณด์— ํ•˜๋ฃจ ์ดํ‹€ ๋‚ด์— ์ทจํ•ฉํ•œ ์—‘์…€์ด ์˜ฌ๋ผ์˜ค๋Š”๋ฐ,
      ๋ณด๋ฆ„ ์ฏค ํ›„ ๋’ค๋Šฆ๊ฒŒ ์ทจํ•ฉ๋œ ์ˆ˜์ •๋ณธ์ด ํ•œ ์ฐจ๋ก€ ๋” ์˜ฌ๋ผ์˜ด (์ž ์ • ๋””๋ ‰ํ† ๋ฆฌ์˜ ์˜๋ฏธ)
      fnGuideLib.py๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•  ๋•Œ ๋‹ค์‹œ create ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•จ
      ํ˜„์žฌ ์œ ๋ฃŒ๋กœ ๋ฐ”๋€Œ์—ˆ์Œ

2. data query

    - dbq : QuantKim ๋ฐ์ดํ„ฐ ์ฟผ๋ฆฌ, ์ฟผ๋ฆฌ ์˜ˆ: ์‚ผ์„ฑ์ „์ž 20151Q ํ˜น์€ 005930 20151Q
    - fnq : fnGuide ๋ฐ์ดํ„ฐ ์ฟผ๋ฆฌ
    - qry, qryF : fnq๋ฅผ GUI๋กœ ๋งŒ๋“ค๋ฉฐ ๊ฐ„๋‹จํ•œ ์ข…๋ชฉ ์Šคํฌ๋ฆฌ๋‹ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•จ

3. ์‹ค์ „ ์ข…๋ชฉ ์ถ”์ถœ

    - Plan A : fnGuide ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ์‹œ ๋จผ์ € fnGuideLib.py๋กœ ๋ฐ์ดํ„ฐ ์—…๋ฐ์ดํŠธ &
          down.bat ์‹คํ–‰ (๋Œ€์‹  ์ฆ๊ถŒ API - cybosPlus ์„ค์น˜ ํ•„์š”) &
          rpt.bat ์‹คํ–‰ (๊ทœ์น™ - examStr ํ•„์š”)
    -Plan B : ํ‚ค์›€ ์ฆ๊ถŒ ํ˜น์€ ๋Œ€์‹  ์ฆ๊ถŒ์˜ ์ข…๋ชฉ ๊ฒ€์ƒ‰ ์‚ฌ์šฉ (๊ทœ์น™์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Œ)
    * ๊ฐ ํšŒ์‚ฌ๋งˆ๋‹ค ์—”์ง„์ด ๋‹ฌ๋ผ์„œ ์‹ค์ œ๋กœ ์ถ”์ถœ๋˜๋Š” ์ข…๋ชฉ์ด ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฆ„
โš ๏ธ **GitHub.com Fallback** โš ๏ธ