åè¶³æ ªäŸ¡ããææšèšç®ããããã ïœDBãšã®é£æºã¯ã©ã¹ã®äœæïœ
ããã«ã¡ã¯Rcatã§ãã
ä»åã¯åè¶³æ ªäŸ¡ã®ããŒã¿ããŒã¹åã®ç¶ãã§ãã
ååããŒã¿ããŒã¹ã«CSVã®ããŒã¿ãã¢ããããŒãããèªåçã«æ ªåŒåå²ãé©çšããŸããã
ä»åã¯éCSVåããã¯ãã«ã«ææšã®èšç®ãã°ã©ãã®ãããããªã©ãè¡ã£ãŠããããšæããŸãã
ååã¯ãã¡ã
ååã¯ãã¡ã
sita ããããšã¯ãã¡ã
ã¯ããã«
å©çšèŠçŽ
æ å ±ãäœåã®æŽ»çšæã¯äºåã«å©çšèŠçŽãã確èªãã ããã
ã³ã¡ã³ãã«ã€ããŠ
å©çšèŠçŽã®ã¬ã€ãã©ã€ã³ã確èªã®äžã³ã¡ã³ãããŠãã ãã
æ©èœã®æŽç
ãŸãã©ããªæ©èœãå¿ èŠãªã®ããå ã«æ å ±ãæŽçããŸãã
æ©èœã®åæ
éCSVå
ããŒã¿ããŒã¹åã¯ç®¡çãæ¥œãªã®ã§å¿ èŠã§ããã人éãçŽæ¥ããŒã¿ãèŠãããšãèãããšããã¯ãCSVãšããŠæ±ããæ¹ãæ¥œãªå ŽåããããŸããä¿åå ãšèšŒåžã³ãŒããæå®ããŠãCSVãšããŠä¿åããæ©èœ
å šãŠã®CSVããŸãšããŠããŠã³ããŒãããŠå§çž®ããæ©èœ
ããŒã¿ããŒã¹æ¢çŽ¢æ©èœ
ããŒã¿ããŒã¹ã«å ¥ããŠããŸããšããã€ãã®ããã«ãã©ã«ããã¿ãããªæãã§èŠãããšã¯ã§ããŸããããããªããšãããšèŠæ¢ãã¥ãããªã£ãŠããŸãã®ã§ãæ¢çŽ¢ããæ©èœãã€ããŸããå šãŠã®èšŒåžã³ãŒããè¿ãæ©èœ
éæã®æ å ±ãè¿ãæ©èœ
ç»é²ãããŠãã足皮ãšããŒã¿æ°
äžçªå€ãããŒã¿ãšæ°ããããŒã¿ã®æ¥æ
æé«å€ãšæå®å€
ããŒã¿ååŸæ©èœ
ä»åŸã®èšç®ã§ããŒã¹ãšãªã£ãŠããæ©èœã§ããæå®ãã蚌åžã³ãŒããšè¶³ã§æå®ããã¹ãã³ã®ããŒã¿ãååŸ
åºæ¥é«ã®ååŸ
æŒç®æ©èœ
ååŸããããŒã¿ãããã¯ãã«ã«ææšãèšç®ããæ©èœåãã¯ãã«ã«ææšã®èšç®(ç§»åå¹³åãªã©)
ãã¯ãã«ã«èšç®ãã§ãããã©ãããã§ãã¯ããæ©èœ
äŸãã°100æ¥ç·ã§ããã°100æ¥åã®ããŒã¿ããªããã°èšç®ã§ããªãã®ã§ãå šããŒã¿ãã100æ¥ååŸã®ããŒã¿ãæ£åžžã«èšç®ã§ããäžçªå€ãããŒã¿ãšãªããŸãã
ã°ã©ãã®ãããã
æ°å€ã§èŠãããšããã§æ¬åœã«ããæ£ããã®ã絶察ããããªãã®ã§ããã£ãŒã圢åŒã®ã°ã©ããåºåããŠãèŠèŠçã«ç¢ºèªã§ããããã«ããŸãã
éCSVå
ãŸããæåã«CSVã«æ»ãéšåãèŠãŠãããŸãã
SaveCSV æå®ããéæãCSVãšããŠããŠã³ããŒããã
ã³ãŒããšããŠã¯ãããªæãã§ãã
ä¿åå
ã®ãã¹ãšèšŒåžã³ãŒãè¶³ãæ¥ä»ã®ã¹ãã³ãéžæããããšã§ãCSVãšããŠã®ããŠã³ããŒããå¯èœã§ãã

ä»ãŸã§å
šã䜿ã£ãŠããªãã£ããã§ãããããŒã¿ããŒã¹ã§é£æºããå ŽåpandasãæŽ»çšãããšè²ã
楜ã¿ãããªã®ã§ãä»åãã䜿ãå§ããããšã«ããŸãã
ã¡ãªã¿ã«ããã§åŒã³åºããŠããã²ããããŒã¿ã«é¢ããŠã¯ååŸã®ã»ã¯ã·ã§ã³ã§èª¬æããŸãã
CloneDB_ZIP å šãŠã®ããŒã¿ãå§çž®ããŠããŠã³ããŒããã
ãã®æ©èœã¯ããŒã¿ããŒã¹ã«ååšããå
šãŠã®ããŒãã«ããµãŒããããã®å
šãŠã®äžèº«ãããŠã³ããŒãããŠããæ©èœã§ãã
ãŸãä¿åããæã«ZIPãã¡ã€ã«ãäœæããå§çž®ããªããæžã蟌ãã§ãããŸãã
CSVããŒã¿ãªã®ã§å§çž®çã80%ãè¶
ããããã倧äœãµã€ãºã1/5çšåºŠã«ãªããŸãã
ããŒã¿ããŒã¹ã®ããã¯ã¢ãããšããæå³ã§ãå©çšãã§ãã颿°ã§ãã

ã«ããŠãpandasã£ãŠSQLå®è¡ãã§ãããã§ããããŸãããããŒãéãã®ã§æžã蟌ã¿ã«ã¯äœ¿ããªããã§ããã
ããŒã¿ããŒã¹æ¢çŽ¢ç³»
GetDBCodesÂ å šãŠã®èšŒåžã³ãŒããè¿ã
ãŸã倧äºãªã®ãäœã®ããŒã¿ãå
¥ã£ãŠããã®ãã調ã¹ã颿°ã§ãã
ãã¡ããå®è¡ããããšã§ãããŒã¿ããŒã¹ã«å
¥ã£ãŠããå
šãŠã®èšŒåžã³ãŒããååŸããããšãã§ããŸãã

GetInfomation éæã®æ å ±ãååŸãã
次ã«éæã®ååŸã§ãã
蚌åžã³ãŒããšè¶³ãæå®ããã°ããã®ããŒã¿ã«ã€ããŠè©³ããæ
å ±ãïŒååŸããããšãã§ããŸãã

ã³ãŒãã ãã ãšã¡ãã£ãšåãããªããšæãã®ã§ãå®éã«å®è¡ããŠã¿ããšãããªæãã«ãªããŸãã
以äžã®ããã«ããŸãæåã«ä»åã®è¶³ã«ã€ããŠã®æ
å ±ãæ¬¡ã«ããŒã¿ããŒã¹å
šäœã§ã®ããŒã¿ã«ã€ããŠãæåŸã«çš®é¡ãäœåããããšãããªã¹ããè¿ã£ãŠããŸãã
>>> db = DBStockClient_Cal("remote","XXXXXXXXXXXX","192.168.0.X")
>>> pprint.pprint(db.GetInfomation("9432","5M"))
{'kindinfo': {'code': '9432',
'count': 7370,
'date_last': datetime.datetime(2025, 5, 2, 15, 30),
'date_old': datetime.datetime(2024, 11, 19, 9, 0),
'kind': '5M',
'price_high': Decimal('159.50'),
'price_low': Decimal('135.20')},
'table': {'count': {'10M': 3852,
'15M': 3302,
'1M': 28773,
'5M': 7370,
'60M': 3364,
'D': 2442,
'M': 361,
'W': 1042},
'kind': ['10M', '15M', '1M', '5M', '60M', 'D', 'M', 'W']}}GetData æå®ããéæã®ããŒã¿ãååŸãã
ãã¡ãã¯ä»ã§åŒã³åºãããããšãå€ãç¯å²å
ã®ããŒã¿ãè¿ã颿°ã§ãã
ãšã¯ãããSQLæ§æã§æ¥ä»ãããã€ä»¥äžãããã€ä»¥äžã®ã¹ãã³ã§è¿ããŠãããšããã ããªã®ã§ãPythonã®ã³ãŒãã¯éåžžã«ãã£ããããŠããŸãã
ãããå®è¡ããããšã§ãããŒã¿ããŒã¹ã«ç»é²ãããŠããããŒãã«ã®åœ¢ã§ãã®ãŸãŸååŸãã§ããŸãã

GetDayVolume 1æ¥ãããã®åºæ¥é«ãååŸ
次ã¯åºæ¥é«é¢é£ã§ãã
åºæ¥é«ãå°ãªãéæã ãšçªã°ã£ããã«ãªã£ãŠããŸãããšããããŸãã
ãããé¿ããããã«ããã¡ãã®é¢æ°ã§ã¯ã³ãŒããšè¶³çš®ããããŠæ¥ä»ãæå®ããããšã§ããã®æ¥ã®åºæ¥é«ãè¿ãããšãã§ããŸãã
äŸãã°1åããããªã1000以äžã®åºæ¥é«ããªããã°ããããšãã£ã倿ææã«ã§ããŸãã

æŒç®æ©èœé¢é£
Check_AvailableDate ãã¯ãã«ã«ææšã®èšç®ãã§ããæãå€ãæ¥ä»ãè¿ã
æŒç®é¢é£ãæåã«ç޹ä»ããã®ããã¡ãã
å ¬åŒããŒã«ãšãã§ãäžå Žããã°ããã®ããŒã¿ã ãšç§»åå¹³åç·ããªãã£ãããæ¬æ°ãå°ãªãã£ããããŸãããïŒããããã®ã¯éå»ã®ããŒã¿ã䜿ã£ãŠèšç®ããã®ã§ããã以äžå€ãããŒã¿ããªããšãšã©ãŒã«ãªããŸãã
ããã§ããããªããããã§ãããå šãŠã®ããŒã¿ãæã£ãŠãªããšå°ããããšãã£ãå Žåã¯ããã®é¢æ°ã䜿ã£ãŠã©ããŸã§ã ã£ããæ»ã£ãŠãããã®ããšããæ¥ä»ãååŸããããšãã§ããŸãã

ã¡ãªã¿ã«ç§»åå¹³åç·ãäžçªé·ããšæãã®ã§ãç§»åå¹³åç·ã®äžçªæåŸã®æ¥ä»ã§èšç®ããŠãŸãã
éã«èšãã°ããããŸãé·ãç§»åå¹³åç·ãç»é²ããŠããŸããšããŒã¿æ°ãæžããŸãã
GetData_Teck ãã¯ãã«ã«ææšä»ãã§ããŒã¿ãè¿ã
ããŒã¿ååŸé¢æ°ã®ãã¯ãã«ã«çã§ãã
ããŒã¿ååŸé¢æ°ã§ã¯ããã ããŒã¿ããŒã¹ããããŒã¿ãåŒã£åŒµãã ãã§ãããããã¡ãã¯ãã®ããŒã¿ã«ãã©ã¹ããŠãã¯ãã«ã«ææšãèšç®ããäžã§è¿ãããšãã§ããŸãã

ãã¡ãã®å·¥å€«ããç¹ãšããŠã¯ãããŒã¿ãååŸããéã«ç§»åå¹³åç·ã®æ¬æ°åäœèšã«ååŸããããšã§ãã
äŸãã°100æ¥ã§ããã°æå®ããæ¥ãã100æ¬åã®ããŒã¿ãŸã§ååŸããããã«ããŠãæ£åžžã«èšç®ã§ããããã«ããŠããŸãã
ã¡ãªã¿ã«ç¡æã§æžããšããããªãããªãšæã£ãã®ã§ã¢ã¶ã€ã¯ã«ããŠãŸãããä»ã®ãã¯ãã«ã«ææšã«é¢ããŠã¯taã©ã€ãã©ãªãçšããŠèšç®ããŠããŸãã
ãªã®ã§ããããã«ãã®ãã¯ãã«ã«ææšä»ãã®ã¯ã©ã¹ãŸã§é
åžãããã©ããã¯æªå®ã§ãã
ã°ã©ãé¢é£
Plot æå®ãããããŒã¿ãã¬ãŒã ããããããã
ããŒã¹ã¯ã©ã¹ã«ãŠå®çŸ©ããŠããã·ã³ãã«ãªããããã«ã€ããŠèª¬æããŸãã
ãã¡ãã®é¢æ°ã¯èªã¿èŸŒãã ããŒã¿ãæž¡ãããšã§ãã·ã³ãã«ãªã°ã©ããããããããããšãã§ããŸãã

ã³ãŒãã®æ¹ã¯ãããªæãã§ãäºåã«GetDataã§ååŸããããŒã¿ãåãåããã¿ã€ãã«ãšä¿åå ãªã©ãæå®å¯èœãšãããã®ã§ãã
ããã§ã¯ãã£ãŒããæåããããã®ã©ã€ãã©ãªã§ãããmplfinanceãå©çšããŠããŸãã

æ ªäŸ¡åæãªã©ã§ããŒã¿ãã¬ãŒã ã®äžã«æ ªé¢é£ã®ããŒã¿ã¯ååãæ±ºãŸã£ãŠããã®ã§ååãçŽããŸãã
次ã«å¿ããŠã¯ãããªãã®ããã€ã³ããã¯ã¹ã§ãããæ¥ä»ã®ãšããã«ããŸãããããããªããšèœã¡ãŸãã
ã³ãŒãäžç€ããã¯ã¹ã¿ã€ã«ã決å®ããŠããããããŠãããŸãã
äžçªå€§äºãªã®ãäžçªäžã§ããããã§ãã©ã³ããæå®ããŸããæ¥æ¬èªã䜿ãããã©ã³ãã§ãªããšæ¥æ¬èªãâ¡â¡â¡ã«ãªã£ãŠããŸããŸãã®ã§ãéæã®ååãšããèŒããã人ã¯å¿
é ã§ãã
æ ªäŸ¡ãšåºæ¥é«ã®æ¯çã¯panel_ratiosã®éšåã§èª¿æŽãå¯èœã§ãã
ç»åã®å€§ããã¯figsizeã§èª¿æŽãå¯èœã§ãã
æåŸã®ä¿åã®éšåã¯ãã¹ãããŠããã°ç»åãšããŠä¿åããŸãããã€ãIOã§è¿ãããšãã§ããã®ã§ãä»ã®é¢æ°ããã®åŒã³åºããã§ããŸãã
ã¡ãªã¿ã«ãã®é¢æ°ã¯ã³ãã³ãã©ã€ã³ããã®åŒã³åºãã«å¯Ÿå¿ãããŠããã®ã§ãäœ¿ãæ¹ã¯ä»¥äžã®ãããªãµã³ãã«ã«ãªããŸãã

Plot æå®ãããããŒã¿ãã¬ãŒã (ãã¯ãã«ã«ææšä»ã)ããããããã
ãã¡ãã®é¢æ°ã¯äžã§å®çŸ©ããŠãããã¯ãã«ã«ææšä»ãã§ããããšãåæã§ãããã°ã©ããšããŠããããããããšãã§ããŸãã
å®éã«ãããããããšãããªæãã«ãªããŸãã
ããã§å
šãŠè¡šç€ºããŠããŸããšäœã®ææšèšç®ããŠãããã®ãããã¬ã¡ãããã§æ¶ãã¡ãããŸããã©âŠã
ãã¡ãã¯å
ã»ã©ãã衚瀺ããŠããNTTã®5åè¶³æ ªäŸ¡ã§ããã
ãã®ãããªåœ¢ã§èªåã®èšç®ããææšãæ¬åœã«æ£ããã®ããå ¬åŒã®ãã¬ãŒãã£ã³ã°ããŒã«ãšç §ããåãããŠç¢ºèªãšããæå³ã§ã䜿ãããšãã§ããŸãã

ã³ãŒãååã¯ãããªæãã
ã·ã³ãã«ãšéã£ãŠäžçªäžã®é¢æ°ã¯ãªãµã€ãºçšã®é¢æ°ã§äœçœãçµæ§å€§ããã®ã§ãèªåçã«ã«ãããã颿°ã远å ãããŠããŸãã

次ã«ç·ã®è²ãšã远å ã§ãããç§»åå¹³åç·ã¯èªåã§èšç®ã§ãããããã§ãããç§ã®å Žåã¯èªåã§åŸã§è¿œå ããŠããŸãã
äºåã«èšå®ãããŠããç§»åå¹³åç·ã®èšå®ã§è¿œå ãããŠãããŸãããã®æã«è²ãå€ããããã«äžã§è²ãå®çŸ©ããŠããŸãã
ä»ã®ãã¯ãã«ã«ææšã«é¢ããŠãååã§çµã蟌ã¿ã€ã€ç·ã远å ããŠããŸãã
ãã®æãäžçªäžã®ãã£ãŒãã«éãããå Žåã¯ããã«ã0ã«èšå®ããåºæ¥é«ã«éãããå Žåã¯ããã«ã1ããã以éåãããå Žåã¯ããã«ã2以äžã§èšå®ããŠãããŸãã
ããããããšã§ãä»åã®ç»åã®ããã«ãã¯ãã«ã«ææšãåé¢ãããŠè¡šç€ºãããŸãã

次ã®è¡ããã现ããã¹ã¿ã€ã«ã®èšå®ã§ãã
å
¬åŒã®ããã¥ã¡ã³ããèŠãŠãèªåã®æ°ã«å
¥ã£ãããŒã¹ã¹ã¿ã€ã«ãèšå®ããŸãããããªããããŒã¹ã¹ã¿ã€ã«ã«ãã£ãŠã¯èªåçã«æ¥æ¬èªãã©ã³ããåœããããšãããã¿ããã§ãã
ãã®äžã§é°éœç·ã®è²ããšããžãªã©ã现ããèšå®ããŠãããŸãã
ã¹ã¿ã€ã«ã®æºåãã§ããã衚瀺ããŠãããŸãã
ããããã®äžã§èª¿æŽããã¹ãã¯panel_ratiosãããäžã§ããã
panel_ratiosã¯ãåããã«ã®å€§ããã®å²åã衚ããä»åã¯ãã£ãŒãã4ããã以å€ã1ã®å²åã«ãªãããã«ããŠããŸãã
ã¿ã€ãã«ã¯èªç±ã«ã€ããŠãã ããã
ãµã€ãºã«ã€ããŠã¯ããx100ãã¯ã»ã«ã§åºãŠããã¿ããã§ãã
ãããŠå¡äŸã§ããã
ããã«é¢ããŠã¯äžåºŠããããããŠäžèº«ãèŠãªããšã©ãã«äœã®ã°ã©ããåœãã£ãŠããã®ãåãããŸããã
åºæ¬çã«ã¯å¶æ°ã®ã€ã³ããã¯ã¹ãåããã«ã«åœãã£ãŠããã¿ããã§ãããæåŸã®7çªã ãããªãã7çªãåœãã£ãŠããããŸããæ¬åœã«æå³ãåãããŸããã
ãŸããããã«ã®äžã«ããŒãœã¯è¶³ãšç§»åå¹³åç·ã®2ã€ãå
¥ã£ãŠããå Žåã¯ããã®ãŸãŸã©ãã«ãåœãŠãããšãããšãç§»åå¹³åç·çšã®å¡äŸãããŒãœã¯è¶³ã«åœãããšããæå³ã®ããããªãç¶æ
ã«ãªããŸãã
ãªã®ã§ãçš®é¡ãããã€ãããå Žåã¯"handles=axes[0].lines"ã®ããã«æç€ºçã«ã©ã€ã³ãºãªã©ãæå®ããå¿
èŠããããŸãã
ãããçš®é¡ãåãå Žåã¯ã»ã»ã»å€ååé¢ã§ããŸããã
äœèšãªäœçœã®ããªãã³ã°ã§ããPILLOWã䜿ã£ãŠèªåçã«ããŠã³ãã£ã³ã°ããã¯ã¹ãèšç®ãããããã ãµã€ãº+10ãã¯ã»ã«ã§ããªã ããŸãã
ãªã®ã§ããã®æç¹ã§æåã«èšå®ããPixelãããå°ãå°ãããªããŸãã
ãã®ãããã颿°ãåŒã³åºããŸã§ã®äžé£ã®ã³ãŒãããã¡ã
ãã¯ãã«ã«ææšèšç®æžã¿ã®ããŒã¿ãã¬ãŒã ãååŸããåŸãåçŽã«ãã®ãããã颿°ã«æž¡ãã ããšããç°¡åãªãä»äºã§ãã
d = DBStockClient_Cal("remote","XXXXXXXXXX","192.168.0.X")
c = d.GetData_Teck("9432","5M","2025-5-2 0:0:0","2025-5-3 0:0:0")
d.Plot(c,"","test.png")ãŸãããã®èšäºã®å 容ã®é¢æ°ãäœãã®ã«3æ¥ããã£ãŠããã§ããã©ãã
ãããŸã§ã®å 容ã§ã¢ããããŒã
ååã®èšäºã®é åžã«ã€ããŠããCSVãããŒã¿ããŒã¹åããããã®ã¹ã¯ãªããã§ãããä»åã®å 容ã§ã¢ããããŒãããŸãã
CSVãšããŠååŸããäœ¿ãæ¹
ååã¯ã¢ããããŒãã ãã§çµãã£ãŠããŸããŸããããCSVãšããŠåååŸããããã®ã³ãã³ãã©ã€ã³ãªãã·ã§ã³ã远å ããŸããã
äŸãã°ã5æ1æ¥Â - 2æ¥ã®5åè¶³ãååŸããäŸã¯ä»¥äžã§ãã
>py DataBase2.py -m getcsv -f "ntt.csv" --code 9432 -k 5M --span1 "2025-5-1 0:0:0" --span2 "2025-5-2 23:0:0"
2025-05-06 15:34:21,724 INFO DataBase2 èš134ä»¶ã®ããŒã¿ãååŸããŸããååŸããCSVãéããšãããªæãã§ããå ã ãšã¯ã»ã«ã®ããŒã«ã§æ±ã£ãŠãã圢åŒãšããŠååŸãå¯èœã§ãã

ããŒã¿ããŒã¹ã®ããã¯ã¢ãããšããŠå šãŠååŸãã
次ã«ããŒã¿ããŒã¹ããå šãŠã®CSVãååŸããŠå§çž®ããäŸã§ãããã¡ãã¯ç°¡åã§ã¢ãŒããã¯ããŒã³ã«ããŠä¿åå ãæå®ããã ã
py DataBase2.py -m clone -f "bak.zip"
2025-05-06 15:37:06,427 INFO DataBase2 Stock_XXXXãåŠçäž(1/627)
2025-05-06 15:37:06,946 INFO DataBase2 Stock_XXXXãåŠçäž(2/627)
2025-05-06 15:37:07,865 INFO DataBase2 Stock_XXXXãåŠçäž(3/627)åºæ¥äžãã£ãZIPãã¡ã€ã«ãéããšãããªæã
å
ã
ã¯1.2gbããããã£ãã¯ããªãã§ãããããã ãš200MBããããŸã§ã¡ã£ã¡ããã§ããŸãããŸãããŒã¿ããŒã¹ã¯5GBããããããã§ããã©ã

ã¡ãªã¿ã«äžèº«ã¯ä»¥äžã®ããã§ãããŒã¿ããŒã¹ãšå šãåãã«ãªã£ãŠãŸãã

ã·ã³ãã«ãªãããã
äžã§å°ã説æããã·ã³ãã«ãªããããã®ã³ãã³ãã®äœ¿ãæ¹ã§ãã
æ§æã¯ä»¥äžã®éãã§ãã¡ã€ã«ãåºåãããŸãã
>py DataBase2.py -m plot -f "ntt.png" --code 9432 -k 5M --span1 "2025-5-1 0:0:0" --span2 "2025-5-2 23:0:0"ç»åããŒã¿ãéããšä»¥äžã®ããã«ãªã£ãŠããŸãã

ãŸãšã
é åžæ å ±
ååã®èšäºã§é
åžããŠãããã®ãã¢ããããŒãããŠããŸã
updateãã©ã«ãã®äžèº«ã®æ¹ããå©çšãã ãã
