Upgrade to Pro — share decks privately, control downloads, hide ads and more …

為替短期予測を支える基盤技術 - データエンジニアミーティング資料

3e8f61263f14a620f21d5f3f89c4b846?s=47 tomo
February 19, 2021

為替短期予測を支える基盤技術 - データエンジニアミーティング資料

Alpacaデータエンジニアミーティング資料
https://finatext.connpass.com/event/202265/

3e8f61263f14a620f21d5f3f89c4b846?s=128

tomo

February 19, 2021
Tweet

Transcript

  1. STRICTLY CONFIDENTIAL σʔλΤϯδχΞ ϛʔτΞοϓࢿྉ ҝସ୹ظ༧ଌΛࢧ͑Δج൫ٕज़ "MQBDB+BQBO

  2. STRICTLY CONFIDENTIAL 2

  3. STRICTLY CONFIDENTIAL  ਓͱ"*ͱͷίϥϘϨʔγϣϯͰ੾Γ։ۚ͘༥ࢢ৔ͷະདྷ $MJFOU`T5FTUJNPOJBMGSPN2VBOUT ༏ΕͨςΫϊϩδʔ͸ٙ͏༨஍͕ແ͍ɻ ͨͩɺͦΕ͚ͩͰ͸ύʔτφʔͱͯ͠ෆे෼ɻ ੒ޭ·ͰͷಓͷΓ͸τϥΠΞϯυΤϥʔͷ࿈ଓɻ ࢢ৔ͷಾղ͖΁ͷ७ਮͳϞνϕʔγϣϯɺ͖͋ΒΊͳ͍࢟੎ɺͦͯ݁͠Ռ΁ ͷڧ͍ͩ͜ΘΓɻ

    "MQBDBΛޠΔ࣌ʹͦ͏ͨ͠ཁૉ͸͔ܽͤͳ͍ɻ ൴Β͸ਅʹ৴པͰ͖Δूஂͩɻ ਓ ˠਓ αΠΤϯςΟετΤϯδχΞͷ೥ͷ૿Ճ਺ ԯԁ ૯ௐୡֹ $MJFOU`T5FTUJNPOJBMGSPN5SBEFST lۚ༥ࢢ৔ͷະདྷ͸"*ͱਓͱͷίϥϘϨʔγϣϯʹͦ͋͜Δzͱ͍͏ͷ͸· ͞ʹࢲ΋ڧ͘ڞײ͢ΔίϯηϓτͰ͢ɻੈͷઌΛ͍͘وࣾͷօ༷ʹ͸ͲΜͲ Μະདྷ΁޲͔ͬͯਐΜͰ͍ͬͯ௖͖͍ͨɻ ίϩφՒͷதͰۚ༥ۀքશମͰࠓ·Ͱग़དྷͳ͍ͱࢥ͍ͬͯͨ͜ͱ͕࣮ࡍʹ΍ ͬͯΈΔͱग़དྷͯ͠·͏͜ͱ͕୔ࢁग़͖͍ͯͯΔͱײ͍ͯ͡·͢ɻͦͷத Ͱ"*ͱਓؒͷίϥϘϨʔγϣϯ΋ӹʑ૿͍͑ͯ͘Ͱ͠ΐ͏͠ɺͦ͏͍͏෦෼ ͕֤اۀͷڝ૪ݯઘʹͳ͍ͬͯ͘ͷͩΖ͏ͱࢥ͍·͢ɻ
  4. STRICTLY CONFIDENTIAL TIPSUUFSNQSFEJDUPST  "*Λ׆༻ͨ͠ҝସۀ຿ͷࣗಈԽ OFVUSBM EPXO 7JTVBMJTBUJPOPGUIFQSFEJDUJPOPVUQVUT 5IFBDUVBMQSJDFNPWF ༧ଌϞσϧͷ

    ଟذʹ౉ͬͨ׆༻ ༧ଌϞσϧͷߏங #SPLFS
  5. STRICTLY CONFIDENTIAL  ಈ࡞͍ͤͨ͞ҝସ୹ظ༧ଌϞσϧͷΠϝʔδ Ϛʔέοτͷ9෼ޙͷ஋ಈ͖Λ༧ଌ͢ΔϞσϧ ͕ͩɺϚʔέοτ͸΄΅ϥϯμϜ΢ΥʔΫΛ͢ ΔͷͰɺ࣮ࡍʹ΍ͬͯΈΔͱͱͯ΋೉͍͠ɻ • "*ɾσΟʔϓϥʔχϯάʹ޲͍͍ͯΔͷ ͸େྔʹൃੜͨ͠σʔλ͔ΒύλʔϯΛ

    ୳͢࡞ۀ • Ϛʔέοτʹ͓͍ͯ࠷΋େྔʹൃੜͯ͠ ͍Δσʔλ͸ͳʹ͔ɺͦΕ͕5JDL • େྔͷ5JDLσʔλ͔ΒൃੜύλʔϯΛղ ੳ͠ɺͲͷΑ͏ͳύλʔϯ͕ൃੜͨ͠ͱ ͖ʹϓϥΠε্͕͕Δ͔ɾԼ͕Δ͔Λσ ΟʔϓϥʔχϯάͰֶश 5JDLσʔλͬͯԿʁ 5JDLσʔλ͸࠷୹਺NTFDͰൃੜ͢Δۚ༥঎඼ ͷͦΕҎ্෼ׂͰ͖ͳ͍ϓϥΠεσʔλ ը૾ೝࣝ޲͚ͷ$//Λ ࣌ܥྻղੳͷωοτϫʔΫͱ֦ͯ͠ு σΟʔϓχϡʔϥϧωοτϫʔΫ͕Ϛʔέο τͷಛ௃తͳ5JDLͷൃੜύλʔϯΛղੳɺ༧ ଌΛग़͍ͯ͠Δɻ ը૾ೝࣝ 5JDLൃੜύλʔ ϯ
  6. STRICTLY CONFIDENTIAL  ҝସ୹ظ༧ଌͷσʔλॲཧͷϙΠϯτ 処理 キーとなる技術 概要 データのインポート • ArgoWorkflow

    • MarketStore データプロパイダーから数百GBのデータ がS3に到着、ArgoWorkflowで生データの パースからMarketstoreへのインポート、 検証、データのデリバリまでを実施 分析と予測モデルの学習 • ArgoWorkflow • MarketStore • JupyterNotebook • GPUクラスタ クレンジング完了後のデータに対して、 GPUクラスタでArgo Workflowを用いてモ デル生成を実施。k8sへ移行したことでリ ソース制御が容易となり他のモデル作成 パイプライン含め数万のjobがk8sによっ て順次実行されている 予測モデルのライブ実行 • MarketStore • AWS ◦ Amazon EKS ◦ SQS 構築された予測モデルを稼働させる基盤 。MarketStoreを活用し、為替のデータプ ロパイダーがmsec単位で送付するTickの データをリアルタイム処理
  7. STRICTLY CONFIDENTIAL  ύΠϓϥΠϯͷ࿩ 5JDLཤྺσʔλͷΠϯϙʔτ • "SHP8PSLGMPXͰੜσʔλͷύʔε͔Β.BSLFUTUPSF΁ͷΠϯϙʔτɺݕ ূɺσʔλͷσϦόϦ·ͰΛ࣮ࢪ • ҰճͰѻ͏σʔλྔ͸਺ඦ(

    • ׬શʹࣗಈͰ͸ͳ͘खಈͰύϥϝʔλΛௐ੔͠ͳ͍ͱ͍͚ͳ͍ͱ͜Ζ͕ ࢒͍ͬͯΔͷ͕՝୊
  8. STRICTLY CONFIDENTIAL  ύΠϓϥΠϯͷ࿩ ෼ੳͱ༧ଌϞσϧͷֶश • Ϟσϧͷ࡞੒͸طଘύΠϓϥΠϯΛ"SHP8PSLGMPXͷ্ʹ৐͍ͤͯΔ • طଘύΠϓϥΠϯͷεέδϡʔϥʔͱϫʔΧʔ͕ಛ௃ྔੜ੒͔ΒϞσϧֶश·Ͱ Λ࣮ߦ

    • ෳ਺ͷ.BSLFUTUPSFΠϯελϯεΛϩʔυόϥϯαͰ੍ޚ͢Δ͜ͱͰɺ๲େͳྔͷಛ ௃ྔੜ੒ʹରԠ • αΠΤϯςΟετ͸+VQZUFSOPUFCPPLΛΫϥελ಺Ͱىಈͯ͠ɺ࡞੒ͨ͠Ϟσϧʹ ରͯ͠γʔϜϨεʹ෼ੳ࡞ۀΛ࣮ࢪՄೳ
  9. STRICTLY CONFIDENTIAL 9 Alpacaのサイエンスを支えるCPU/GPUクラスタ基盤 • େྔͷ$16(16͕Քಇ͢ΔࣗࣾઃܭͷΫϥ ελج൫ ◦ ,TͰ੍ޚ͞Εɺ௒௿ίετӡ༻Λ࣮ ݱ

    ◦ ฒྻֶशʹΑΓେྔͷ%FFQ-FBSOJOH ϞσϧΛੜ੒Մೳ 超低コスト運用を実現
  10. STRICTLY CONFIDENTIAL   ༧ଌϞσϧੜ੒ޙͷύΠϓϥΠϯ ࡞੒ͨ͠༧ଌϞσϧΛ҆ఆӡ༻ͤ͞Δج൫ٕज़ *OQVU 0VUQVU 1SFEJDUJPO 424

    %JTQBUDIFS 3%4 H31 $ -FHFOE DBMMFF DBMMFS #BUDI #BUDI 8FC'SPOUFOE *OUFSGBDF 'JY1SPUPDPM ##0 4FTTJPOT '93BUF ##0 "1*EFMJWFSZ 44& 4FSWFS4FOU&WFOUT "NB[PO .2 '93BUF - 044 .BSLFUTUPS F ,TTFSWJDF 1SFEJDUPS 'JY1SPUPDPM -4FTTJPOT QJQFBEBQUFS 044 .BSLFUTUPS F 1SFEJDUPS 424 1SPUPDPM QJQFGMVFOUE QJQFBEBQUFS QJQFGMVFOUE %JTQBUDIFS #BUDI 8FC'SPOUFOE ,TTFSWJDF ,TTFSWJDF CBDLVQ CBDLVQ IPVSMZ QSJDF EVNQFS NFUSJDTW NFUSJDTW DTWEVNQFS BEBQUFS BEBQUFS 424 1SPUPDPM H31$ H31$
  11. STRICTLY CONFIDENTIAL   044ͱͯ͠ߴ଎࣌ܥྻσʔλϕʔε.BSLFU4UPSFΛެ։த • "MQBDB+BQBOͱɺถࠃͰ࠷΋੎͍ͷ͋Δถࠃג"1*ূ݊"MQBDB64ͱ"MQBDB+BQBOͷڞಉ։ൃ IUUQTHJUIVCDPNBMQBDBIRNBSLFUTUPSF • ΦϯϝϞϦઃܭΛ࠾༻ͤͣɺ44%Ͱ࠷΋ύϑΥʔϚϯε͕ग़ΔΑ͏ʹઃܭ

    • ҝସ5JDLͷΑ͏ͳ௒ߴ଎ͳॲཧΛ͸͡Ί͔Β૝ఆ͠ઃܭ • ྫ͑͹.POHP%#ͱ͔Λ࢖͏ͱ+40/%BUB'SBNFͰࢮ๢͢ΔɻͦͷίϯόʔτॲཧΛճආ͢ΔͨΊ OVNBSSZͷόΠφϦΫΤϦΛ࠾༻ɺ.BSLFU4UPSFଆͰOVNQZόΠφϦΛ%#಺ͷόΠφϦߏ଄͔Βͦͷ ··ੜ੒ɺQZUIPOଆ͸H31$ܦ༝Ͱऔಘͨ͠OVNQZόΠφϦΛ%BUB'SBNFͱͯ͠ϩʔυ͢Δ͜ͱͰΦʔ όʔϔουΛۃখԽ͢Δɻ (JUIVC˒΋,ʹ౸ୡʂʂ ʂ
  12. STRICTLY CONFIDENTIAL 12 ࠷ۙͷ.BSLFU4UPSFͷύϫʔΞοϓ • H31$ʹରԠ • )551ͱൺֱͯ͠ߋʹ"1*ύϑΥʔϚϯε͕վળ ෼଍σʔλϨίʔυͷΫΤϦʹ͔͔Δ͕࣌ؒ NT

    )551 NT H31$ ͘Β͍͸มΘΔ ߴ଎Խ • ϨϓϦέʔγϣϯػೳ • ෳ਺୆ͷϨϓϦΧʹH31$ TUSFBNΛ࢖ͬͯσʔλΛෳ੡Մೳ 3FBEύϑΥʔϚϯεͷ޲্Λͭͭ͠ɺ༗ྉͷσʔλఏڙ"1*Λ࢖༻͢ΔϊʔυΛϚελϊʔ υʹߜΕΔͱ͍ͬͨϝϦοτ • )FMNDIBSUʹରԠ • ,VCFSOFUFT্ͰͷNBSLFUTUPSFߏங͕༰қʹ • 1SPNFUIFVTʹରԠ • ॻ͖ࠐΈॲཧ࣌ؒͳͲ͍͔ͭ͘ͷϝτϦΫεΛ(&5 NFUSJDTͰ 1SPNFUIFVTαʔόʹFYQPSUͰ͖Δ • ࡉ͔ͳύϑΥʔϚϯεվળ • DHP HP͔Β$$ ͷϥΠϒϥϦΛ࢖༻͢Δύοέʔδ ͔Βͷଔۀ • όοϑΝΩϟογϡΛσΟεΫʹॻ͖ࠐΉTZODγεςϜίʔϧͷݺͼग़͠λΠϛϯάͷݟ ௚͠ͳͲ • ϕϯνϚʔΫιϑτΛಉ࣌ʹ։ൃͯ͠ݕূͭͭ͠վળத
  13. STRICTLY CONFIDENTIAL   ࠓޙ׆༂Ͱ͖ΔσʔλΤϯδχΞͷΠϝʔδ ҎԼͷ఺͕ॏཁ • Ϋϥ΢υٕज़ʹڧ͍ʂ • Ϋϥ΢υͷٕज़ΛͲͷ͘Β͍͏·͘׆༻Ͱ͖Δ͔

    • σʔλߏ଄ɾσʔλͷߴ଎ॲཧͳͲʹڧ͍ʂ • ٕज़બఆɾΫϥ΢υબఆ͢Δ্ͰσʔλͷऔΓѻ͍ٕज़͕ॏཁɺ΋͠΋ͷ ͱ͖ʹࣗ෼Ͱ͔͚Δ͜ͱ͕ڧΈʹͳΔ • σʔλαΠΤϯενʔϜͱಉ͡༻ޠͰ࿩ͤΔͱڧ͍ʂ • σʔλαΠΤϯενʔϜ͕࡞੒ͨ͠ϞσϧΛಈ͔͢ͱ͍͏໨తʹରͯ͠ɺ σʔλαΠΤϯενʔϜͱಉ͡༻ޠͰσΟεΧογϣϯͰ͖Δͱ˕ ͞ΒʹϓϥεΞϧϑΝͰҎԼͷΑ͏ͳਓࡐΛٻΊ͍ͯ·͢ɻ • Ϋϥ΢υΛ׆༻ͭͭ͠΋ɺΤοδͷޮ͍ͨಠٕࣗज़Λࣗ෼ͨͪͰ࡞Γ͍ͨʂ • ௒ߴ଎ͳॲཧ͔ͭϛογϣϯΫϦςΟΧϧͳ՝୊ʹ௅ઓ͍ͨ͠ • σʔλΤϯδχΞͱ͍͏৽͍͠ΩϟϦΞΛࣗ෼Ͱߏங͍ͨ͠ -JOLFE*Oɺ·ͨ͸8BOUFEMZͰͷԠืΛ͓଴͓ͪͯ͠Γ·͢ • IUUQTXXXMJOLFEJODPNDPNQBOZBMQBDBKBQBO PSJHJOBM4VCEPNBJOKQ • IUUQTXXXXBOUFEMZDPNDPNQBOJFTBMQBDBEC
  14. STRICTLY CONFIDENTIAL