π¨ ΠΠ°ΠΊ ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²Π΅ΡΠΈ Π² Python: ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
ΠΠ°ΠΊ ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²Π΅ΡΠΈ Π² Python?
ΠΠ»Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ²Π΅ΡΠ½ΡΡ Π³ΡΠ°ΡΠΈΠΊΠΎΠ² Π² Python, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ matplotlib ΠΈ plotly. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±Π΅ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ matplotlib:
ΠΠΎΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΈΡΡΠ΅Ρ ΡΠ²Π΅ΡΠ½ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ matplotlib:
import matplotlib.pyplot as plt
# ΠΠ°Π½Π½ΡΠ΅ ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ°
open_prices = [100, 110, 105, 120]
high_prices = [120, 130, 115, 125]
low_prices = [90, 100, 95, 110]
close_prices = [115, 125, 110, 118]
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ°
plt.plot([], [])
plt.boxplot([open_prices, high_prices, low_prices, close_prices], vert=False, widths=0.6, patch_artist=True, showfliers=False)
plt.title('Π‘Π²Π΅ΡΠ½ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊ')
plt.xlabel('Π¦Π΅Π½Ρ')
plt.ylabel('ΠΠ΅ΡΠΈΠΎΠ΄Ρ')
plt.show()
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ plotly:
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ plotly Π΄Π»Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ°:
import plotly.graph_objects as go
# ΠΠ°Π½Π½ΡΠ΅ ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ°
open_prices = [100, 110, 105, 120]
high_prices = [120, 130, 115, 125]
low_prices = [90, 100, 95, 110]
close_prices = [115, 125, 110, 118]
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ°
fig = go.Figure(data=[go.Candlestick(x=list(range(len(open_prices))),
open=open_prices,
high=high_prices,
low=low_prices,
close=close_prices)])
fig.show()
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΠΈΠ±ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ matplotlib, Π»ΠΈΠ±ΠΎ plotly Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²Π΅ΡΠ½ΡΡ Π³ΡΠ°ΡΠΈΠΊΠΎΠ² Π² Python. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΊΠΎΠ΄Π° ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Π°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½ΡΠ°Π²ΠΈΡΡΡ ΠΈΠ»ΠΈ Π»ΡΡΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π²Π°ΡΠΈΠΌ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΠΌ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΡΠΈΠ²Π΅Ρ, Π΄ΠΎΡΠΎΠ³ΠΎΠΉ ΡΡΡΠ΄Π΅Π½Ρ! Π‘Π΅Π³ΠΎΠ΄Π½Ρ Ρ Ρ ΠΎΡΡ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΡΠ΅Π±Π΅, ΠΊΠ°ΠΊ ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²Π΅ΡΠΈ Π² Python. Π ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠ΅ΠΉ - ΡΡΠΎ Π²Π°ΠΆΠ½Π°Ρ ΡΠ°ΡΡΡ Π°Π½Π°Π»ΠΈΠ·Π° ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠΎΡΠ³ΠΎΠ²Π»ΠΈ Π½Π° ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΡ ΡΡΠ½ΠΊΠ°Ρ . ΠΠΎΠ³Π΄Π° ΠΌΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠ²Π΅ΡΠΈ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ½ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅Π½ ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ΅Π½Π΄Ρ Π½Π° ΡΡΠ½ΠΊΠ΅.
ΠΠ»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²Π΅ΡΠ΅ΠΉ Π² Python ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Matplotlib. ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΠΏΡ Π³ΡΠ°ΡΠΈΠΊΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ²Π΅ΡΠ½ΡΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΈ.
ΠΠ°Π²Π°ΠΉ Π½Π°ΡΠ½Π΅ΠΌ Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ°. ΠΠ°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠ΅Π½Π΅ ΠΎΡΠΊΡΡΡΠΈΡ, ΡΠ΅Π½Π΅ Π·Π°ΠΊΡΡΡΠΈΡ, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅Π½Π΅ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π²ΠΎΠ·ΡΠΌΠ΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ Π·Π° ΠΎΠ΄ΠΈΠ½ Π΄Π΅Π½Ρ.
import matplotlib.pyplot as plt
import mpl_finance as mpf
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² Π΄Π°Π½Π½ΡΡ
Π΄Π»Ρ ΡΠ²Π΅ΡΠ΅ΠΉ
data = [(1, 2, 0.5, 1.5), (2, 3, 1, 2.5), (1.5, 2.5, 0.5, 2), (2.5, 3.5, 2, 3)]
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΡΡ ΡΠΈΠ³ΡΡΡ
fig, ax = plt.subplots()
# Π ΠΈΡΡΠ΅ΠΌ ΡΠ²Π΅ΡΠΈ
mpf.candlestick_ochl(ax, data, width=0.4, colorup='green', colordown='red')
# ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ ΠΎΡΠΈ
ax.set_xlim(0, len(data))
ax.set_ylim(min([d[2] for d in data]) - 0.5, max([d[3] for d in data]) + 0.5)
# ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π³ΡΠ°ΡΠΈΠΊ
plt.show()
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² Π΄Π°Π½Π½ΡΡ Ρ ΡΠ΅Π½Π°ΠΌΠΈ ΠΎΡΠΊΡΡΡΠΈΡ, Π·Π°ΠΊΡΡΡΠΈΡ, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅Π½ΠΎΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ²Π΅ΡΠΈ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΡΡ ΡΠΈΠ³ΡΡΡ ΠΈ ΠΎΡΠΈ Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ°. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ `mpf.candlestick_ochl()` ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ mpl_finance, ΡΡΠΎΠ±Ρ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²Π΅ΡΠΈ Π½Π° Π½Π°ΡΠ΅ΠΌ Π³ΡΠ°ΡΠΈΠΊΠ΅. ΠΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ ΠΎΡΠΈ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π»ΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ.
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π΄Π΅ΡΠ°Π»Π΅ΠΉ ΠΊ Π½Π°ΡΠ΅ΠΌΡ ΡΠ²Π΅ΡΠ½ΠΎΠΌΡ Π³ΡΠ°ΡΠΈΠΊΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ ΠΈ ΡΡΠΈΠ»ΠΈ Π΄Π»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ .
import matplotlib.pyplot as plt
import mpl_finance as mpf
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² Π΄Π°Π½Π½ΡΡ
Π΄Π»Ρ ΡΠ²Π΅ΡΠ΅ΠΉ
data = [(1, 2, 0.5, 1.5), (2, 3, 1, 2.5), (1.5, 2.5, 0.5, 2), (2.5, 3.5, 2, 3)]
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΡΡ ΡΠΈΠ³ΡΡΡ ΠΈ ΠΎΡΠΈ
fig, ax = plt.subplots(2, sharex=True, gridspec_kw={'height_ratios': [3, 1]})
# Π ΠΈΡΡΠ΅ΠΌ ΡΠ²Π΅ΡΠΈ
mpf.candlestick_ochl(ax[0], data, width=0.4, colorup='green', colordown='red')
# ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ
ax[0].plot([d[0] + 0.2 for d in data], [d[1] + 0.1 for d in data], color='blue', label='High')
ax[0].plot([d[0] + 0.2 for d in data], [d[2] - 0.1 for d in data], color='purple', label='Low')
ax[0].legend()
# ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΌ ΡΠΎΡΠ³ΠΎΠ²
ax[1].bar([d[0] + 0.2 for d in data], [d[1] - d[2] for d in data], color='orange')
# ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ ΠΎΡΠΈ
ax[0].set_xlim(0, len(data))
ax[0].set_ylim(min([d[2] for d in data]) - 0.5, max([d[3] for d in data]) + 0.5)
ax[1].set_ylim(0, max([d[1] - d[2] for d in data]) + 0.5)
# ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π³ΡΠ°ΡΠΈΠΊ
plt.show()
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ High ΠΈ Low ΠΊ Π½Π°ΡΠ΅ΠΌΡ ΡΠ²Π΅ΡΠ½ΠΎΠΌΡ Π³ΡΠ°ΡΠΈΠΊΡ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π³ΠΈΡΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΌΠ° ΡΠΎΡΠ³ΠΎΠ². ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ `plot()` Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π»ΠΈΠ½ΠΈΠΉ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΈ ΡΡΠ½ΠΊΡΠΈΡ `bar()` Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π³ΠΈΡΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ°ΡΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ ΠΈ Π³ΠΈΡΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊ ΡΠ²Π΅ΡΠ΅ΠΉ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π½Π°ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π΄Π°Π½Π½ΡΡ .
Π’Π΅ΠΏΠ΅ΡΡ Ρ ΡΠ΅Π±Ρ Π΅ΡΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²Π΅ΡΠ΅ΠΉ Π² Python. Π’Ρ ΠΌΠΎΠΆΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ Π² ΡΠ²ΠΎΠ΅ΠΌ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΎΠΌ Π°Π½Π°Π»ΠΈΠ·Π΅ ΠΈΠ»ΠΈ ΡΠΎΡΠ³ΠΎΠ²Π»Π΅ Π½Π° ΡΡΠ½ΠΊΠ΅. Π£Π΄Π°ΡΠΈ Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ Python ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ !
ΠΡΡ ΡΡΠ°ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΎΡΠΏΡΠ°Π²Π½ΡΡ ΡΠΎΡΠΊΡ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠ² Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ²Π΅ΡΠ΅ΠΉ Π² Python. ΠΠΎΠΌΠ½ΠΈ, ΡΡΠΎ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° - Π»ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ»ΡΡΡΠΈΡΡ ΡΠ²ΠΎΠΈ Π½Π°Π²ΡΠΊΠΈ. Π£Π΄Π°ΡΠΈ Π² ΡΠ²ΠΎΠΈΡ ΡΡΠ΅Π±Π½ΡΡ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡΡ !