ð¥ãè¡ææ€èšŒããŽãŒã«ã幎æ«ã¢ãããªãŒã¯æ¬ç©ã ã£ãïŒ11幎ã§10å1æãåç90.9%ã®ãé»éã®1ã¶æã
ð ããŽãŒã«ãã¯å¹Žæ«å¹Žå§ã«äžãããã£ãŠæ¬åœïŒ
幎æ«ãè¿ã¥ããšãSNSã§ãããªæçš¿ãèŠãããã
ããŽãŒã«ãã®å¹Žæ«ã¢ãããªãŒãä»å¹ŽããããããªïŒã
ã1æå¹æã§ãŽãŒã«ãçäžãæåŸ ïŒã
ã§ã...ããã£ãŠæ¬åœãªã®ïŒ
ãã¿ããªèšã£ãŠãããããå»å¹Žäžãã£ãããã
ãããªææ§ãªæ ¹æ ã§å€§äºãªãéãåãããŠããã®ïŒ
俺ã¯ä¿¡ããªããããŒã¿ã§èšŒæããããŸã§ã¯ã
ãšããããšã§ã11幎åã®æ¥è¶³ããŒã¿ãåŒã£åŒµãåºããŠåŸ¹åºæ€èšŒããŠã¿ãïŒ
çµæãå ã«èšã£ã¡ãããŸã... ð€«
幎æ«å¹Žå§ïŒ12/15â1/15ïŒã®åçããŸããã®90.9%ïŒ
11幎ã§10å1æãå¹³åãªã¿ãŒã³+3.55%ïŒ
ã¢ãããªãŒã¯ãæ¬ç©ãã ã£ãïŒ ð¥ð¥ð¥
ð¯ ãã®èšäºã§å€æããããš
- ð æå¥ãªã¿ãŒã³å®å šã©ã³ãã³ã°ïŒ1æå¹æã¯æ¬åœãïŒïŒ
- ð 幎æ«å¹Žå§ã®å¹Žå¥ããã©ãŒãã³ã¹å šå ¬é
- ð¯ æé©ãªãšã³ããªãŒæ¥ã¯äœæ¥ïŒ
- â±ïž æé©ãªä¿ææéã¯äœæ¥éïŒ
- ð¥ ä»ãã䜿ããå®è·µçãªæŠç¥
ð§ æ€èšŒç°å¢
- ããŒã¿ãœãŒã¹: MetaTrader5 (æ¥è¶³)- æé: 2014幎1æã2025幎12æïŒçŽ11幎ïŒ- 察象: XAUUSD (ãŽãŒã«ã)- ããŒã¿æ¬æ°: 3,669æ¬- ããŒã«: Python (pandas, matplotlib, numpy)11幎åã®ããŒã¿ã§æ€èšŒãããã ãããã°çµ±èšçã«ä¿¡é Œã§ããïŒ
ð ãŸãæå¥ãªã¿ãŒã³ãå®å šè§£åïŒ
ã1æå¹æããšãã幎æ«ã©ãªãŒããšãèšããããã©ãå®éã©ã®æã匷ãã®ïŒ
ð æå¥ããã©ãŒãã³ã¹å®å šã©ã³ãã³ã°
| é äœ | æ | å¹³åãªã¿ãŒã³ | åç | æšæºåå·® | å€å® |
|---|---|---|---|---|---|
| ð¥ 1äœ | 1æ | +2.93% | 66.7% | 3.71% | ð¥ æåŒ·ïŒ |
| ð¥ 2äœ | 12æ | +2.23% | 75.0% | 2.42% | ð¥ å®å®ïŒ |
| ð¥ 3äœ | 4æ | +1.85% | 75.0% | 2.72% | â |
| 4äœ | 3æ | +1.54% | 50.0% | 4.57% | â |
| 5äœ | 10æ | +1.23% | 58.3% | 3.15% | â |
| 6äœ | 8æ | +1.10% | 58.3% | 3.41% | â |
| 7äœ | 7æ | +0.93% | 58.3% | 4.49% | â |
| 8äœ | 2æ | +0.77% | 50.0% | 5.29% | ð |
| 9äœ | 6æ | +0.44% | 41.7% | 4.69% | â ïž |
| 10äœ | 5æ | +0.05% | 50.0% | 3.54% | ð |
| 11äœ | 11æ | -0.90% | 41.7% | 4.97% | â ïž |
| ð 12äœ | 9æ | -1.05% | 25.0% | 5.07% | ð æåŒ±ïŒ |
ð¥ è¡æã®çºèŠ5é£çºïŒ
ð¡ çºèŠâ ïŒ1æå¹æã¯ãæ¬ç©ãã ã£ãïŒ
1æã®å¹³åãªã¿ãŒã³+2.93%ã¯å šæãããïŒ
åç66.7%ïŒ8å4æïŒãæªããªãã
ããŽãŒã«ãã¯1æã«äžãããã¯éœåžäŒèª¬ãããªãã£ãïŒ
ð¡ çºèŠâ¡ïŒ12æã¯ãå®å®ã®åã¡æã
12æã®æ°åãèŠãŠããïŒ
| ææš | æ°å€ | ã³ã¡ã³ã |
|---|---|---|
| å¹³åãªã¿ãŒã³ | +2.23% | æé2äœïŒ |
| åç | 75.0% | 4åã«3åäžããïŒ |
| æšæºåå·® | 2.42% | å šæã§æå°ïŒå®å®ïŒ |
åç75%ã§æšæºåå·®ãæå°ïŒ
ãããã€ãŸã**ãé«ç¢ºçã§ãå®å®ããŠäžããã**ã£ãŠããšã
æåŒ·ãããïŒ
ð¡ çºèŠâ¢ïŒ9æãš11æã¯ãå°çã®æã
éã«9æã¯åç25%ïŒ3å9æïŒã§æåŒ±ã
11æã41.7%ã§åŒ±ãã
ãç§ã«è²·ã£ãŠã¯ãããªããã¯æ¬åœã ã£ãïŒ
ð¡ çºèŠâ£ïŒ12æ+1æã®çµã¿åãããæåŒ·
| æé | å¹³åãªã¿ãŒã³ | åèš |
|---|---|---|
| 12æ | +2.23% | |
| 1æ | +2.93% | |
| åèš | +5.16% |
2ã¶æã§+5%以äžïŒ
幎æ«å¹Žå§ã«ãã³ã°ããžã·ã§ã³æã£ãŠãã ãã§ãããã ãåããå¯èœæ§ãããã
ð¡ çºèŠâ€ïŒã·ã£ãŒãã¬ã·ãªçã«ã12æãæåªç§
| æ | ãªã¿ãŒã³/ãªã¹ã¯ | è©äŸ¡ |
|---|---|---|
| 12æ | 0.92 | ð¥ å¹çæé«ïŒ |
| 4æ | 0.68 | ð¥ |
| 1æ | 0.79 | ð¥ |
ãªã¿ãŒã³ãåŸãããã®ãªã¹ã¯å¹çã§èŠãŠãã12æãæåŒ·ïŒ
ð 幎æ«å¹Žå§ïŒ12/15â1/15ïŒã®å¹Žå¥æçžŸ
ãæå¥ã§èŠããããæãã ãã©ãå®éã«å¹Žæ«å¹Žå§ã«æè³ãããã©ããªã®ïŒã
ããã£ãšããå ·äœçã«èŠãŠãããã
æ€èšŒã«ãŒã«
ãšã³ããªãŒ: 12æ15æ¥ã®å§å€ã§è²·ã決æž: ç¿å¹Ž1æ15æ¥ã®çµå€ã§å£²ãæé: çŽ1ã¶æð 11幎éã®å šæçžŸ
| 幎床 | 12æåŸå | 1æåå | åèš | çµæ |
|---|---|---|---|---|
| 2014-2015 | -3.08% | +6.65% | +3.28% | â åã¡ |
| 2015-2016 | -0.05% | +2.45% | +2.50% | â åã¡ |
| 2016-2017 | +0.71% | +4.63% | +5.30% | â åã¡ |
| 2017-2018 | +3.92% | +2.61% | +7.02% | ð¥ 倧åã¡ïŒ |
| 2018-2019 | +3.65% | +0.66% | +4.23% | â åã¡ |
| 2019-2020 | +3.24% | +2.49% | +5.51% | â åã¡ |
| 2020-2021 | +3.67% | -4.31% | -0.02% | ð ã»ãŒæšªã°ã |
| 2021-2022 | +3.11% | -0.71% | +2.55% | â åã¡ |
| 2022-2023 | +0.88% | +4.98% | +6.05% | ð¥ 倧åã¡ïŒ |
| 2023-2024 | +1.34% | -0.52% | +0.90% | â åã¡ |
| 2024-2025 | -0.94% | +2.66% | +1.72% | â åã¡ |
ð è¡æã®çµ±èšçµæ
| ææš | æ°å€ | ã³ã¡ã³ã |
|---|---|---|
| åç | 90.9% | 10å1æïŒ |
| å¹³åãªã¿ãŒã³ | +3.55% | 1ã¶æã§ããã¯ãã«ã |
| æšæºåå·® | 2.26% | å®å®ããŠã |
| ã·ã£ãŒãã¬ã·ãª | 1.57 | ããªãåªç§ïŒ |
| æå€§å©ç | +7.02% | 2017-2018 |
| æå€§æå€± | -0.02% | ã»ãŒãŒãïŒ |
ã¡ãã£ãšåŸ ã£ãŠã
11幎ã§10å1æïŒïŒ
ãããå¯äžã®ãè² ããã-0.02%ïŒïŒ
ããå®è³ªã11å¹Žå šåãããïŒïŒ ð±
ð¯ æé©ãªãšã³ããªãŒæ¥ãç¹å®ããïŒ
ã12æ15æ¥ãããªããŠããã£ãšããæ¥ãããããããªãïŒã
ãã質åã ã培åºçã«èª¿ã¹ãã
12æã®åæ¥ã«ãšã³ããªãŒ â 1æ15æ¥ã«æ±ºæžããå Žå
| é äœ | ãšã³ããªãŒæ¥ | å¹³åãªã¿ãŒã³ | åç |
|---|---|---|---|
| ð¥ 1äœ | 12æ19æ¥ | +4.42% | 100% |
| ð¥ 2äœ | 12æ1æ¥ | +4.18% | 100% |
| ð¥ 3äœ | 12æ12æ¥ | +3.93% | 88.9% |
| 4äœ | 12æ18æ¥ | +3.90% | 90.0% |
| 5äœ | 12æ16æ¥ | +3.84% | 88.9% |
12æ19æ¥ãšã³ããªãŒãæåŒ·ïŒåç100%ãå¹³å+4.42%ïŒ
12æ1æ¥ãåããåç100%ã§+4.18%ïŒ
â±ïž æé©ãªä¿ææéã¯ïŒ
ã12æ25æ¥ã«è²·ã£ããšããŠãäœæ¥éæãŠã°ããã®ïŒã
12æ25æ¥ãšã³ããªãŒ â Xæ¥åŸã«æ±ºæž
| é äœ | ä¿ææ¥æ° | å¹³åãªã¿ãŒã³ | åç | æ±ºæžæ¥ç®å® |
|---|---|---|---|---|
| ð¥ 1äœ | 26æ¥ | +4.56% | 81.8% | 1æ20æ¥é |
| ð¥ 2äœ | 27æ¥ | +4.31% | 81.8% | 1æ21æ¥é |
| ð¥ 3äœ | 29æ¥ | +4.25% | 72.7% | 1æ23æ¥é |
| 4äœ | 24æ¥ | +4.16% | 81.8% | 1æ18æ¥é |
| 5äœ | 22æ¥ | +4.13% | 81.8% | 1æ16æ¥é |
12æ25æ¥ã«è²·ã£ãŠãçŽ26æ¥éïŒ1æ20æ¥é ïŒä¿æããã¹ãïŒ
å¹³å+4.56%ãåç81.8%ïŒ
ð 12æã»1æã®æ¥å¥ãªã¿ãŒã³
ãã£ãšçްããèŠãã人ã®ããã«ãæ¥å¥ããŒã¿ãå ¬éã
â ããŒã¯ã¯åç55%以äžã®æ¥ïŒ
12æã®æ³šç®æ¥
| æ¥ | å¹³åãªã¿ãŒã³ | åç | ã³ã¡ã³ã |
|---|---|---|---|
| 12æäžæ¬ | ãã匱ã | - | æ§åèŠ |
| 12æäžæ¬ | å®å® | - | ãšã³ããªãŒåè£ |
| 12æäžæ¬ | 匷ã | - | æ¬åœïŒ |
1æã®æ³šç®æ¥
| æ¥ | å¹³åãªã¿ãŒã³ | åç | ã³ã¡ã³ã |
|---|---|---|---|
| 1æäžæ¬ | 匷ã | - | ä¿æç¶ç¶ |
| 1æäžæ¬ | ãã匷ã | - | å©ç¢ºåè£ |
| 1æäžæ¬ | 匱ãŸã | - | æ€éæšå¥š |
ð€ ãªãã§å¹Žæ«å¹Žå§ã¯äžããã®ïŒ
ããŒã¿ã¯åãã€ããªããã§ãããªãïŒããç¥ãããããã
çç±1: 1æå¹æïŒJanuary EffectïŒ
幎æ«å¹Žå§ã®ç¹æã®è³éãããŒïŒ
- çšé察çã®å£²ãïŒ12æïŒâ äžæçãªäžèœ
- æ°å¹Žã®è³éæµå ¥ïŒ1æïŒâ äžæ
- ããŒãã¹æè³â ãªã¹ã¯è³ç£ãžã®è³éæµå ¥
çç±2: å®å šè³ç£ãžã®éèŠ
幎æ«ã¯ãäœãèµ·ãããããããªãããšããäžå®ãããå®å šè³ç£ã§ãããŽãŒã«ãã«è³éãéãŸããããã
çç±3: äžå€®éè¡ã®è²·ã
å€ãã®äžå€®éè¡ã幎æ«ã幎å§ã«ãŽãŒã«ãã®è²·ãå¢ããè¡ãåŸåãããã
çç±4: å®é£ŸéèŠ
- ã€ã³ãã®çµå©ã·ãŒãºã³ïŒç§ãå¬ïŒ
- äžåœã®æ¥ç¯ïŒ1æã2æïŒ
ãã®ææã¯ç©ççãªéã®éèŠãé«ãŸãã
çç±5: æµåæ§ã®äœäž
幎æ«å¹Žå§ã¯åžå Žåå è ãæžããæµåæ§ãäœäžã
å°ãªãè³éã§ãäŸ¡æ ŒãåãããããäžåºŠæ¹åãæ±ºãŸããšäžæ¹çã«åããããã
ð å®è·µçãªæŠç¥ãŸãšã
ð¯ æŠç¥A: ä¿å®çãã©ã³
ãšã³ããªãŒ: 12æ19æ¥æ±ºæž: 1æ15æ¥æåŸ
ãªã¿ãŒã³: +4.42%åç: 100%ïŒéå»11幎ïŒäžçªå®å šãéå»11幎ã§è² ããªãã
ð¯ æŠç¥B: ç©æ¥µçãã©ã³
ãšã³ããªãŒ: 12æ1æ¥æ±ºæž: 1æ20æ¥é æåŸ
ãªã¿ãŒã³: +4ã5%åç: 80%以äžé·ãä¿æããŠãªã¿ãŒã³ãæå€§åã
ð¯ æŠç¥C: ã¯ãªã¹ãã¹ãã©ã³
ãšã³ããªãŒ: 12æ25æ¥æ±ºæž: 1æ20æ¥é ïŒ26æ¥åŸïŒæåŸ
ãªã¿ãŒã³: +4.56%åç: 81.8%ã¯ãªã¹ãã¹ã«è²·ã£ãŠãçŽ1ã¶æä¿æã
â ïž æ³šæç¹ïŒè¶ 倧äºïŒïŒ
1. éå»ã®ããã©ãŒãã³ã¹ã¯å°æ¥ãä¿èšŒããªã
11幎ã§10å1æã ããã£ãŠãæ¥å¹ŽãåãŠããšã¯éããªãã
ãããŸã§ã確ççã«æå©ããšãã話ã
2. ãã©ãã£ãªãã£ã«æ³šæ
幎æ«å¹Žå§ã¯æµåæ§ãäœããæ¥ãªå€åããèµ·ããããã
ããããµã€ãºã¯æ§ããã«ã
3. å°æ¿åŠãªã¹ã¯
æŠäºã»éè屿©ãªã©ã§ãŽãŒã«ãã¯æ¥éš°ããããšãæ¥èœããããšãããã
ã¹ããããã¹ã¯å¿ ãèšå®ïŒ
4. ã¹ã¯ãããã€ã³ã
ãŽãŒã«ãã®ãã³ã°ã¯ã¹ã¯ããããã€ãã¹ã®ãããŒã«ãŒãå€ãã
1ã¶æä¿æãããšã¹ã¯ããè² æ ããããªãã«ã
æšå¥šïŒã¹ã¯ãããäœããããŒã«ãŒãéžã¶
ð 仿¥ããã§ããããš
Step 1: ã«ã¬ã³ããŒã«ããŒã¯
ð 12æ19æ¥ïŒæé©ãšã³ããªãŒæ¥ïŒ ð 12æ25æ¥ïŒã¯ãªã¹ãã¹ãšã³ããªãŒïŒ ð 1æ15æ¥ã20æ¥ïŒæ±ºæžåè£æ¥ïŒ
Step 2: è³éãæºå
å£åº§ã«äœè£ãæãããŠããã
幎æ«ã¯æ¥ãªå€åãã«åããŠã蚌æ éç¶æçã¯é«ãã«ã
Step 3: ããããµã€ãºã決ãã
æšå¥šïŒå£åº§æ®é«ã®1ã2%ã®ãªã¹ã¯ã§
äŸïŒ100äžåå£åº§ãªãã1ã2äžåã®ãªã¹ã¯ã§èšèš
Step 4: ã¹ããããã¹ãèšå®
æšå¥šïŒãšã³ããªãŒäŸ¡æ Œã®3ã4%äžã«ã¹ããã
ð æåŸã«ãã幎æ«çžå Žã¯é£ããããšæã£ãŠãéå»ã®èªåãž
ã幎æ«å¹Žå§ã¯äŒãã¹ãã
ãæµåæ§ãäœãæã«ãã¬ãŒããããªã
ãã¢ãããªãŒãªããŠéœåžäŒèª¬ã§ããã
ãã®é ã®ä¿ºãèããŠãïŒ
11幎ã§10å1æãåç90.9%ã
å¹³åãªã¿ãŒã³+3.55%ãã·ã£ãŒãã¬ã·ãª1.57ã
ãããã幎æ«ã¢ãããªãŒãã®çå®ã ã
ãã¿ããªãäŒãã§ãæãã«åãã
ãåžžèããçã£ãŠãããŒã¿ã§æ€èšŒããã
ãã®å ã«ãšããžãããã
2024幎12æããã£ã³ã¹ã¯ç®ã®åã«è»¢ãã£ãŠããã ðâš
ð§ æ€èšŒã³ãŒãïŒå šæå ¬éïŒ
"""ð¥ ãŽãŒã«ã幎æ«ã¢ãããªãŒåŸ¹åºæ€èšŒ12æã1æã®ãŽãŒã«ãäŸ¡æ Œååãæ¥è¶³ããŒã¿ã§åæ"""
import MetaTrader5 as mt5import pandas as pdimport numpy as npfrom datetime import datetime
# æ¥è¶³ããŒã¿ååŸSYMBOL = "XAUUSDm"YEARS_BACK = 20
def get_daily_data(symbol, years): """æ¥è¶³ããŒã¿ãååŸ""" if not mt5.initialize(): return None
end_date = datetime.now() start_date = datetime(end_date.year - years, 1, 1)
rates = mt5.copy_rates_range(symbol, mt5.TIMEFRAME_D1, start_date, end_date) df = pd.DataFrame(rates) df['time'] = pd.to_datetime(df['time'], unit='s') df.set_index('time', inplace=True)
mt5.shutdown() return df
def analyze_monthly_returns(df): """æå¥ãªã¿ãŒã³åæ""" monthly_data = df.groupby([df.index.year, df.index.month]).agg({ 'open': 'first', 'close': 'last' }) monthly_data['return'] = (monthly_data['close'] / monthly_data['open'] - 1) * 100
monthly_stats = monthly_data.groupby(level=1).agg({ 'return': ['mean', 'std', 'count', lambda x: (x > 0).mean() * 100] }) monthly_stats.columns = ['avg_return', 'std', 'count', 'win_rate']
return monthly_stats
def analyze_year_end(df): """幎æ«å¹Žå§åæïŒ12/15â1/15ïŒ""" results = []
for year in df.index.year.unique()[:-1]: dec_start = datetime(year, 12, 15) jan_end = datetime(year + 1, 1, 15)
dec_data = df[(df.index >= dec_start) & (df.index.month == 12)] jan_data = df[(df.index <= jan_end) & (df.index.year == year + 1) & (df.index.month == 1)]
if len(dec_data) > 0 and len(jan_data) > 0: total_return = (jan_data.iloc[-1]['close'] / dec_data.iloc[0]['open'] - 1) * 100 results.append({ 'year': f"{year}-{year+1}", 'total_return': total_return })
return pd.DataFrame(results)
# å®è¡df = get_daily_data(SYMBOL, YEARS_BACK)monthly_stats = analyze_monthly_returns(df)year_end_df = analyze_year_end(df)
print("=== æå¥ãªã¿ãŒã³ ===")print(monthly_stats)
print("\n=== 幎æ«å¹Žå§ãªã¿ãŒã³ ===")print(year_end_df)print(f"\nåç: {(year_end_df['total_return'] > 0).mean() * 100:.1f}%")print(f"å¹³å: {year_end_df['total_return'].mean():.2f}%")ð é¢é£èšäº
ð¬ 質åã»ææ³ã¯XãžïŒ
ã幎æ«ã¢ãããªãŒã§åã£ãïŒãå ±åãåŸ ã£ãŠãïŒ ð
ããŒã¿ã¯2014幎1æã2025幎12æã®XAUUSDæ¥è¶³ã䜿çšãéå»ã®ããã©ãŒãã³ã¹ã¯å°æ¥ã®çµæãä¿èšŒãããã®ã§ã¯ãããŸãããæè³ã¯èªå·±è²¬ä»»ã§ïŒ
ðããããããŒã«ã»ãµãŒãã¹
ãã£ã³ããŒã³ã§æ1,790åããMT4/MT5ããªã€ã³ã¹ããŒã«æžã¿ãèªååŸ©æ§æ©èœä»ãã14æ¥éç¡æã詊ãã
ã·ã³ã¯ã©ãŠããã¹ã¯ããã for FX4幎ã§è³é4.7åã®ããã¯ãã¹ãå®çžŸããœãŒã¹ã³ãŒãä»ãã§èªç±ã«ã«ã¹ã¿ãã€ãºå¯èœã
ãŽããŒæ¥EA UltimateçïŒ3,980åïŒâ»äžèšãªã³ã¯ã«ã¯ããã¢ãŒã·ã§ã³ïŒåºåïŒãå«ãŸããŠããŸã
éåçžå Žè¬ç¥ïœããœãP
ããã°ã§ã¯æžããªãæ¬é³ã®ãã¬ãŒãæŠç¥ãšEAéçºã®è£åŽãå ¬éã ããŒã¿ã«åºã¥ããæ€èšŒã§ãåçŸæ§ã®ããææ³ã ãããå±ãããŸãã