auto-sync: 2026-03-26 00:45:27
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
# Pine Script to Python 通用转换规则
|
||||
|
||||
## 1. 数据结构映射
|
||||
|
||||
| Pine Script | Python (pandas) | 说明 |
|
||||
|-------------|-----------------|------|
|
||||
| `close` | `df["Close"]` | 收盘价序列 |
|
||||
| `open` | `df["Open"]` | 开盘价序列 |
|
||||
| `high` | `df["High"]` | 最高价序列 |
|
||||
| `low` | `df["Low"]` | 最低价序列 |
|
||||
| `volume` | `df["Volume"]` | 成交量序列 |
|
||||
| `time` | `df.index` (datetime index) | 时间戳 |
|
||||
|
||||
## 2. 常用指标函数映射
|
||||
|
||||
### 移动平均 (Moving Averages)
|
||||
|
||||
| Pine Script | Python (pandas-ta) | 说明 |
|
||||
|-------------|---------------------|------|
|
||||
| `ta.sma(close, length)` | `ta.sma(df["Close"], length=5)` | 简单移动平均 |
|
||||
| `ta.ema(close, length)` | `ta.ema(df["Close"], length=20)` | 指数移动平均 |
|
||||
| `ta.wma(close, length)` | `ta.wma(df["Close"], length=10)` | 加权移动平均 |
|
||||
|
||||
### 动量指标 (Momentum)
|
||||
|
||||
| Pine Script | Python (pandas-ta) | 说明 |
|
||||
|-------------|---------------------|------|
|
||||
| `ta.rsi(close, length)` | `ta.rsi(df["Close"], length=14)` | 相对强弱指标 |
|
||||
| `ta.macd(close, fast, slow, signal)` | `ta.macd(df["Close"], fast=12, slow=26, signal=9)` | MACD指标 |
|
||||
|
||||
## 3. 变量和状态管理
|
||||
|
||||
- Pine Script 是**向量式语言**,每根K线执行一次
|
||||
- Python 使用 pandas 进行向量化操作,效率更高
|
||||
- 对于需要状态记忆的变量(如跨K线的累加值),在 pandas 中使用 `cumsum()`、`shift()` 等方法
|
||||
|
||||
## 4. 推荐库
|
||||
|
||||
- **pandas**: 数据处理和分析
|
||||
- **pandas-ta**: Pine Script风格的技术指标库
|
||||
- **numpy**: 数值计算
|
||||
- **yfinance**: 获取历史数据(可选)
|
||||
- **matplotlib**: 可视化(可选)
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 170 KiB |
+168
@@ -0,0 +1,168 @@
|
||||
"""
|
||||
Pine Script to Python Conversion Examples
|
||||
Common Indicators: MA, RSI, MACD
|
||||
"""
|
||||
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
|
||||
def get_sample_data():
|
||||
"""Generate sample historical data for testing (no external dependencies)"""
|
||||
# Create a date range
|
||||
dates = pd.date_range(start="2024-01-01", periods=252, freq="D")
|
||||
|
||||
# Generate synthetic price data (random walk)
|
||||
np.random.seed(42)
|
||||
returns = np.random.normal(loc=0.001, scale=0.02, size=len(dates))
|
||||
price = 100 * (1 + returns).cumprod()
|
||||
|
||||
# Create OHLCV DataFrame
|
||||
data = pd.DataFrame({
|
||||
"Open": price * (1 + np.random.normal(0, 0.005, len(dates))),
|
||||
"High": price * (1 + np.random.uniform(0, 0.02, len(dates))),
|
||||
"Low": price * (1 - np.random.uniform(0, 0.02, len(dates))),
|
||||
"Close": price,
|
||||
"Volume": np.random.randint(1000000, 10000000, len(dates))
|
||||
}, index=dates)
|
||||
|
||||
return data
|
||||
|
||||
|
||||
def sma(series, length):
|
||||
"""Calculate Simple Moving Average (SMA)"""
|
||||
return series.rolling(window=length).mean()
|
||||
|
||||
|
||||
def ema(series, length):
|
||||
"""Calculate Exponential Moving Average (EMA)"""
|
||||
return series.ewm(span=length, adjust=False).mean()
|
||||
|
||||
|
||||
def rsi(series, length=14):
|
||||
"""Calculate Relative Strength Index (RSI)"""
|
||||
delta = series.diff()
|
||||
gain = (delta.where(delta > 0, 0)).rolling(window=length).mean()
|
||||
loss = (-delta.where(delta < 0, 0)).rolling(window=length).mean()
|
||||
rs = gain / loss
|
||||
rsi = 100 - (100 / (1 + rs))
|
||||
return rsi
|
||||
|
||||
|
||||
def macd(series, fast=12, slow=26, signal=9):
|
||||
"""Calculate MACD (Moving Average Convergence Divergence)"""
|
||||
ema_fast = ema(series, fast)
|
||||
ema_slow = ema(series, slow)
|
||||
macd_line = ema_fast - ema_slow
|
||||
signal_line = ema(macd_line, signal)
|
||||
histogram = macd_line - signal_line
|
||||
return macd_line, signal_line, histogram
|
||||
|
||||
|
||||
def example_ma(data):
|
||||
"""
|
||||
Moving Average (MA) Example
|
||||
|
||||
Pine Script:
|
||||
ma5 = ta.sma(close, 5)
|
||||
ma20 = ta.ema(close, 20)
|
||||
"""
|
||||
# Calculate SMA (Simple Moving Average) and EMA (Exponential Moving Average)
|
||||
data["MA5"] = sma(data["Close"], 5)
|
||||
data["MA20"] = ema(data["Close"], 20)
|
||||
return data
|
||||
|
||||
|
||||
def example_rsi(data):
|
||||
"""
|
||||
RSI (Relative Strength Index) Example
|
||||
|
||||
Pine Script:
|
||||
rsiVal = ta.rsi(close, 14)
|
||||
overbought = 70
|
||||
oversold = 30
|
||||
"""
|
||||
data["RSI"] = rsi(data["Close"], 14)
|
||||
return data
|
||||
|
||||
|
||||
def example_macd(data):
|
||||
"""
|
||||
MACD (Moving Average Convergence Divergence) Example
|
||||
|
||||
Pine Script:
|
||||
[macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9)
|
||||
"""
|
||||
macd_line, signal_line, histogram = macd(data["Close"], 12, 26, 9)
|
||||
data["MACD"] = macd_line
|
||||
data["MACD_Signal"] = signal_line
|
||||
data["MACD_Histogram"] = histogram
|
||||
return data
|
||||
|
||||
|
||||
def plot_examples(data):
|
||||
"""Plot the indicators"""
|
||||
fig, (ax1, ax2, ax3) = plt.subplots(3, 1, figsize=(14, 10), sharex=True)
|
||||
|
||||
# Price and MAs
|
||||
ax1.plot(data["Close"], label="Close", color="black", alpha=0.5)
|
||||
ax1.plot(data["MA5"], label="MA5 (SMA)", color="blue")
|
||||
ax1.plot(data["MA20"], label="MA20 (EMA)", color="red")
|
||||
ax1.set_title("Price and Moving Averages")
|
||||
ax1.legend()
|
||||
ax1.grid(True)
|
||||
|
||||
# RSI
|
||||
ax2.plot(data["RSI"], label="RSI", color="purple")
|
||||
ax2.axhline(y=70, color="red", linestyle="--", label="Overbought (70)")
|
||||
ax2.axhline(y=30, color="green", linestyle="--", label="Oversold (30)")
|
||||
ax2.set_title("RSI (14)")
|
||||
ax2.legend()
|
||||
ax2.grid(True)
|
||||
ax2.set_ylim(0, 100)
|
||||
|
||||
# MACD
|
||||
ax3.plot(data["MACD"], label="MACD Line", color="blue")
|
||||
ax3.plot(data["MACD_Signal"], label="Signal Line", color="orange")
|
||||
ax3.bar(data.index, data["MACD_Histogram"], label="Histogram",
|
||||
color=data["MACD_Histogram"].apply(lambda x: "green" if x >= 0 else "red"))
|
||||
ax3.set_title("MACD (12, 26, 9)")
|
||||
ax3.legend()
|
||||
ax3.grid(True)
|
||||
|
||||
plt.tight_layout()
|
||||
plt.savefig("indicators_plot.png")
|
||||
print("Plot saved as indicators_plot.png")
|
||||
|
||||
|
||||
def main():
|
||||
print("=== Pine Script to Python Conversion Examples ===")
|
||||
|
||||
# Get data
|
||||
print("\nGenerating sample data...")
|
||||
data = get_sample_data()
|
||||
|
||||
# Calculate indicators
|
||||
print("\nCalculating indicators...")
|
||||
data = example_ma(data)
|
||||
data = example_rsi(data)
|
||||
data = example_macd(data)
|
||||
|
||||
# Print first few rows
|
||||
print("\nSample data (last 5 rows):")
|
||||
print(data.tail())
|
||||
|
||||
# Save data to CSV
|
||||
data.to_csv("sample_data_with_indicators.csv")
|
||||
print("\nData saved to sample_data_with_indicators.csv")
|
||||
|
||||
# Plot
|
||||
print("\nGenerating plot...")
|
||||
plot_examples(data)
|
||||
|
||||
print("\nDone!")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1,3 @@
|
||||
numpy
|
||||
pandas
|
||||
matplotlib
|
||||
+253
@@ -0,0 +1,253 @@
|
||||
,Open,High,Low,Close,Volume,MA5,MA20,RSI,MACD,MACD_Signal,MACD_Histogram
|
||||
2024-01-01,102.16610853280685,101.29921908799567,100.49805724300587,101.09342830602246,8415745,,101.09342830602246,,0.0,0.0,0.0
|
||||
2024-01-02,101.43592549131375,101.22348499731487,99.00070675927884,100.91496948997386,9082655,,101.07643222830355,,-0.014236030909856368,-0.0028472061819712737,-0.011388824727885095
|
||||
2024-01-03,101.54578051073037,102.82645705352229,100.76042338858814,102.32311384069257,9877580,,101.19516381043583,,0.08710322106607293,0.015142879267637568,0.07196034179843537
|
||||
2024-01-04,105.28672430978968,105.88143360793605,105.24650287732392,105.5422601021335,4081328,,101.6091729810737,,0.42230543397052145,0.09657539020821436,0.3257300437623071
|
||||
2024-01-05,105.81964180095817,105.54590449829837,103.32709117931527,105.15354083465877,6371112,103.00546251469623,101.94673182427228,,0.6491067083966016,0.20708165384589183,0.44202505455070973
|
||||
2024-01-06,104.39558825980401,105.36365502395267,103.74496063050537,104.76628777422425,9551646,103.74003440833658,102.21526096236295,,0.7885108050957967,0.32336748409587285,0.4651433209999239
|
||||
2024-01-07,108.42008131934105,108.5551305255897,106.24456580346326,108.18001934772228,8281505,105.19304437988629,102.78333318954003,,1.1610651282577322,0.49090701292824473,0.6701581153294875
|
||||
2024-01-08,110.3744711755183,111.92058388795438,108.18976178910418,109.94862144402752,6124795,106.71814590055325,103.46574159472931,,1.5808059745627077,0.7088868052551374,0.8719191693075703
|
||||
2024-01-09,108.52091025888721,109.20116045693695,108.09902050798273,109.02620883473497,6411263,107.41493564707358,103.99530990330128,,1.8180651078260297,0.9307224657693159,0.8873426420567138
|
||||
2024-01-10,110.2854666553793,111.47556443600185,110.26872481784545,110.31830033591743,4963735,108.44788754732528,104.59749946831234,,2.086306028763971,1.1618391783682471,0.9244668503957241
|
||||
2024-01-11,107.63307669454507,110.30414832483366,108.81825048446345,109.40614959192007,7493509,109.37585991086446,105.05546614675117,,2.199926565262402,1.3694566557470782,0.8304699095153236
|
||||
2024-01-12,107.94076948452705,110.6281742335534,107.3211736259136,108.4964817597417,9989138,109.43915239326834,105.38318191941694,,2.1913090210317137,1.5338271288040053,0.6574818922277084
|
||||
2024-01-13,108.99220550893408,109.37455549639186,107.7473895374842,109.13001934517163,9824031,109.27543197349716,105.74002357901263,,2.2101238120416014,1.6690864654515245,0.5410373465900769
|
||||
2024-01-14,104.40774254774747,105.89922299405004,104.52133293336259,105.063223162272,2192929,108.48283483900457,105.6755663964659,60.17858958302323,1.875261359501323,1.7103214442614842,0.16493991523983875
|
||||
2024-01-15,102.37258389592192,103.51265164797344,101.26076299742472,101.54377784195627,9711998,106.72793034021234,105.28206272460784,50.978163467775985,1.3107807644716303,1.6304133083035135,-0.3196325438318832
|
||||
2024-01-16,99.78471536874046,102.24311354937183,98.82511930963805,100.50338562074728,7555035,104.94737754597777,104.82695061947827,49.138300168083546,0.7705919642297516,1.4584490394887613,-0.6878570752590096
|
||||
2024-01-17,98.3511582827032,100.17877355921335,96.62741820215705,98.56802987325474,5068316,102.9616871686804,104.23086292936175,42.30808818918075,0.18419809285303756,1.2035988501616166,-1.019400757308579
|
||||
2024-01-18,99.35099631785336,99.79821599240064,98.24221822890209,99.28609271246482,9067987,100.99290184213902,103.75993243251442,35.72187107189727,-0.22004506242367938,0.9188700676445575,-1.138915130068237
|
||||
2024-01-19,98.28550933457063,97.91580761541523,97.24723837798653,97.5822955542303,2656671,99.49671632053068,103.17158606315402,33.699029787477926,-0.6701675920019454,0.6010625357152569,-1.2712301277172022
|
||||
2024-01-20,94.24207536262847,96.19296101675423,94.40659348289515,94.92356110586385,6681635,98.17267297331219,102.38605987674543,30.69658280107437,-1.2272832325155463,0.2353933820690963,-1.4626766145846426
|
||||
2024-01-21,98.36976943147617,99.6188542652262,97.76500415393723,97.80097667649889,7145265,97.63219118446253,101.94938528624577,29.20736716309935,-1.4202462873115564,-0.09573455180703425,-1.3245117355045222
|
||||
2024-01-22,97.46214122427487,98.54236534823396,95.67505559274151,97.4571547992156,9527171,97.4100161696547,101.52155381129052,23.46044950147791,-1.5826704111964176,-0.39312172368491094,-1.1895486875115067
|
||||
2024-01-23,97.20683466873832,98.80300790779067,97.45618089102014,97.6862340879665,1783066,97.09004444475502,101.15628526621204,25.175565211857602,-1.6736155175739782,-0.6492204824627245,-1.0243950351112536
|
||||
2024-01-24,95.21985459500048,95.53231688906565,93.90496923293308,95.00035462535739,5899856,96.57365625898044,100.57000615755922,18.39593222045417,-1.9400544552850647,-0.9073872770271926,-1.032667178257872
|
||||
2024-01-25,94.154642736303,95.5086098065952,93.54546564885484,94.06102394234654,7240779,96.40114882627698,99.95010308944373,18.375323267858064,-2.2016263902528976,-1.1662350996723336,-1.035391290580564
|
||||
2024-01-26,94.08056122246178,94.71675782218387,93.3178684705678,94.36375481361782,5055957,95.71370445370077,99.41806992031745,20.126616317547416,-2.357322436291497,-1.4044525669961663,-0.9528698692953308
|
||||
2024-01-27,92.31808578696032,92.88329749810623,91.08353901639741,92.28587705379289,7617488,94.67944890461624,98.73881345683893,16.444219718839307,-2.618199075011006,-1.6472018685991343,-0.9709972064118717
|
||||
2024-01-28,92.89228659759823,93.86351631472519,91.52708748540509,93.07159535345474,1597897,93.75652115771388,98.19907839937376,22.518505764008836,-2.7300741945474414,-1.8637763337887958,-0.8662978607586456
|
||||
2024-01-29,92.09886336587275,92.98109530857401,91.66661132397059,92.04661892677315,4941237,93.16577401799702,97.61312987817371,25.425466911877663,-2.86837818611842,-2.064696704254721,-0.8036814818636993
|
||||
2024-01-30,91.90493847824062,92.04577983766967,91.58153235016968,91.60167707708906,3042999,92.67390464494554,97.0406105637847,26.233872947076293,-2.9795418805021825,-2.2476657395042134,-0.731876140997969
|
||||
2024-01-31,91.3093257665689,90.79899555814946,90.34292012212775,90.59093205839443,4659985,91.91934009390084,96.42635546803324,27.596338171839136,-3.113310282089003,-2.4207946480211717,-0.6925156340678313
|
||||
2024-02-01,93.45550966525599,95.18593896341658,92.34480480070533,94.03751513377475,2902897,92.26966770989722,96.19884686477052,37.21831359448084,-2.9076941658422015,-2.518174551585378,-0.3895196142568236
|
||||
2024-02-02,95.10982572214306,94.64940604455623,92.46139881489951,94.10616773939738,9019213,92.47658218708575,95.99954409092545,40.802185159740155,-2.7079862410881503,-2.5561368894859324,-0.1518493516022179
|
||||
2024-02-03,91.30952595827053,93.28144554647454,91.10778782028927,92.2095314651344,4576511,92.50916469475801,95.63859050751678,42.516898056932476,-2.6719582963805806,-2.5793011708648623,-0.09265712551571825
|
||||
2024-02-04,93.74746923650329,94.10831271047391,92.6918767451171,93.81867061568086,2163950,92.95256340247636,95.4652648035324,38.19435709625847,-2.4849172302968157,-2.560424382751253,0.07550715245443751
|
||||
2024-02-05,91.891243924254,92.50338849792236,90.40309449860301,91.621730720899,1549148,93.15872313497728,95.0992139385197,34.41329084495513,-2.4853114039710817,-2.5454017869952192,0.060090383024137495
|
||||
2024-02-06,92.2254725823223,93.0770693267436,91.77306118200755,92.09608133279839,3773707,92.77043637478201,94.81320130940338,35.26153557867096,-2.419457657564692,-2.520212961109114,0.10075530354442197
|
||||
2024-02-07,88.30282931540336,88.6704277779324,86.95867169123565,88.57861863184546,6068002,91.66492655327161,94.21943153058834,33.780288068557624,-2.6208859901420993,-2.5403475669157114,-0.08053842322638793
|
||||
2024-02-08,86.22439999248404,86.89529425185327,85.59130252007434,86.31421954052706,3773939,90.48586416835016,93.46655419820155,31.66102918118513,-2.9294683891595525,-2.61817173136448,-0.31129665779507265
|
||||
2024-02-09,86.52655681577245,86.97355582094477,86.07570066751711,86.74037223870413,2935740,89.0702044929548,92.82596544015418,32.05804914725584,-3.103855883815413,-2.7153085618546666,-0.3885473219607465
|
||||
2024-02-10,87.84857056297997,88.21988703569222,87.19379172934966,88.10820993163571,4434955,88.36750033510216,92.37665539172384,39.82770478442277,-3.0959974282399543,-2.7914463351317242,-0.30455109310823003
|
||||
2024-02-11,88.87423888584482,90.25049308853701,88.41516902975069,88.49829719146155,5936710,87.64794350683478,92.00728794407982,38.645613280792354,-3.023440424617931,-2.8378451530289657,-0.18559527158896527
|
||||
2024-02-12,88.53987086278592,88.95190817528602,88.08817249430594,88.38210196736347,6155872,87.60864017393837,91.6620321367735,40.47193579788069,-2.941407742510293,-2.858557670925231,-0.08285007158506197
|
||||
2024-02-13,87.63357426557529,89.36261919499634,86.64021296535907,87.93824051880438,4177326,87.93344436959384,91.30738531601455,40.47420975012791,-2.879024557353631,-2.8626510482109113,-0.016373509142719733
|
||||
2024-02-14,85.81005153487989,85.86086397635435,85.28434345191762,85.42580631129773,2554510,87.67053118411256,90.74723493461295,37.54234591649595,-2.997761547845613,-2.889673148137852,-0.10808839970776107
|
||||
2024-02-15,84.41086479719303,85.43012629568881,83.26467699717097,84.28136667919631,4763122,86.90516253362469,90.1314379579066,23.52985428454194,-3.147920909363421,-2.941322700382966,-0.20659820898045522
|
||||
2024-02-16,83.92891514361818,84.86011925276445,83.17901211133929,83.58918274263719,5421590,85.92333964385982,89.50836603264284,22.399436141020885,-3.2849103424221227,-3.0100402287907975,-0.2748701136313252
|
||||
2024-02-17,85.7090291880189,86.45787967881763,84.77482283744797,85.44005158435417,3534937,85.33492956725794,89.12090751375821,32.19153327917165,-3.2071557132294544,-3.0494633256785293,-0.15769238755092507
|
||||
2024-02-18,85.75573206737512,86.92484058873464,85.61546317171002,86.11266692365966,1812461,84.969814848229,88.8344084099393,28.677153305527696,-3.05603213664412,-3.050777087871648,-0.005255048772472293
|
||||
2024-02-19,82.92944786064925,83.8473711910403,82.57080602077163,83.16237779714754,5427036,84.51712914539897,88.29421501824484,27.52942407365633,-3.1381545965723205,-3.0682525896117827,-0.06990200696053783
|
||||
2024-02-20,84.0976304194468,84.3691676132083,82.57967297603,83.78457204496087,2718224,84.41777021855188,87.86472521126541,28.094196691274547,-3.117099380490245,-3.0780219477874753,-0.039077432702769865
|
||||
2024-02-21,83.47706199529844,84.77024305653829,82.72852986413348,83.22307753567026,3710626,84.34454917715848,87.4226635278754,33.27966504181366,-3.1098722132982317,-3.084392000889627,-0.025480212408604874
|
||||
2024-02-22,82.1710015487561,83.54478921794141,81.24865194892077,82.17958997086465,8906166,83.6924568544606,86.92332318911247,36.02612559300808,-3.1520109368981224,-3.097915788091326,-0.054095148806796445
|
||||
2024-02-23,83.31596325707207,84.87421584142031,82.47432881475946,83.26711569307238,8310108,83.12334660834314,86.57511295139436,38.763698262120116,-3.0623510651618346,-3.0908028435054278,0.028451778343593137
|
||||
2024-02-24,85.61078777312392,85.2788226472831,83.93821499378036,85.06734993914891,7440010,83.50434103674341,86.43151647403765,40.43027137473389,-2.8135977093832736,-3.035361816680997,0.22176410729772345
|
||||
2024-02-25,86.48029273682215,88.00471074577067,85.11169475214832,86.73684792477265,9674163,84.09479621270577,86.46059565982193,44.869761097894475,-2.453462361024023,-2.9189819255496023,0.4655195645255792
|
||||
2024-02-26,85.6012855171397,86.96984363580255,84.11700229370221,85.3677631189461,1444191,84.52373332936095,86.3565163702147,41.81784956764036,-2.2525600941301605,-2.785697559265714,0.5331374651355536
|
||||
2024-02-27,84.83933925227471,85.23302057648445,84.56011843148818,84.92519550496279,2502337,85.07285443618056,86.22020009733357,41.82078705725313,-2.104792371677732,-2.649516521748118,0.5447241500703859
|
||||
2024-02-28,85.47963501310082,85.6865783337463,85.51940438726022,85.5727729339796,4486669,85.53398588436201,86.15854036749035,50.44389900059696,-1.9133751033768789,-2.50228823807387,0.5889131346969911
|
||||
2024-02-29,87.80771737745626,88.62235864651892,86.86988812482195,87.32794773991543,4722946,85.9861054445153,86.2699124981975,58.87450404221601,-1.6015855200080864,-2.3221476944607136,0.7205621744526272
|
||||
2024-03-01,86.9356856404514,87.57310854236454,85.54795209076204,86.57836963163798,8064400,85.95440978588837,86.29928936804897,58.678300578726926,-1.3988496497098453,-2.1374880855105403,0.738638435800695
|
||||
2024-03-02,86.69467318306258,87.79719527475646,86.25466131056817,86.34346697112899,1224695,86.14955055632497,86.3034967588185,52.89440731214875,-1.242808372112691,-1.9585521428309705,0.7157437707182794
|
||||
2024-03-03,85.07100536168316,84.75558380150667,83.68026379334637,84.51931449235823,4441628,86.06837435380405,86.13357463820323,45.2459269399566,-1.2519071885739805,-1.8172231519795725,0.565315963405592
|
||||
2024-03-04,82.59045520309029,83.8952743736998,81.59601560260728,82.58178252968027,8552975,85.47017627294417,85.7953087231058,48.15625558978985,-1.3993300966296545,-1.733644540909589,0.3343144442799346
|
||||
2024-03-05,84.29280286471504,84.34512047591963,83.44478866890844,84.0063609275041,9123236,84.80585891046192,85.62493274257231,50.67016280347456,-1.3852440117000953,-1.6639644350676903,0.27872042336759506
|
||||
2024-03-06,86.23503589202197,86.6517191534362,85.0373643970332,86.36902307532058,8761850,84.76398959919844,85.69579848854833,58.57273333052293,-1.1699471754001252,-1.5651609831341773,0.3952138077340521
|
||||
2024-03-07,86.470931253452,86.6146278439541,86.1469485386537,86.33100322134733,4340216,84.7614968492421,85.75629417738634,61.968494878696774,-0.9909675093806385,-1.4503222883834697,0.45935477900283117
|
||||
2024-03-08,88.09269367486031,89.58615037714851,88.01758627063975,88.15005426138158,4833284,85.48764480304678,85.98427132824303,63.5077260669785,-0.6943387136146981,-1.2991255734297154,0.6047868598150172
|
||||
2024-03-09,88.9188719751623,90.05816731104963,87.58140230626933,88.87576902025936,2847865,86.7464421011626,86.25965206081601,61.2011706232341,-0.39613276792047714,-1.1185270123278677,0.7223942444073905
|
||||
2024-03-10,88.07926180666067,88.73662500753174,86.94767402419514,87.81793450326579,8586725,87.50875681631491,86.4080599124779,53.29832247566884,-0.24236695691828913,-0.943295001245952,0.7009280443276629
|
||||
2024-03-11,88.17826443769628,89.1759133076159,87.32146300225457,88.54049275005518,5897954,87.94305075126184,86.61114875415193,60.07733761678359,-0.06149317696564083,-0.7669346363898898,0.705441459424249
|
||||
2024-03-12,92.30832867842052,92.95529461686618,90.55815136251397,91.35260355205523,5017136,88.94737081740342,87.06271587776176,67.74404875752377,0.30524575366352735,-0.5524985583792064,0.8577443120427337
|
||||
2024-03-13,90.91885831959061,92.09572102254225,90.92818315219257,91.37850011665425,1344855,89.59305998845795,87.47374294813247,66.59749783995342,0.5911640633989776,-0.32376603402356957,0.9149300974225472
|
||||
2024-03-14,93.75670616507726,95.86996071212468,92.78406624212766,94.32937442647736,6750283,90.68378106970155,88.12666023178436,68.73495352792986,1.0438346035662107,-0.050245906505613516,1.0940805100718243
|
||||
2024-03-15,89.99947194436912,90.26721293792252,88.05066961544306,89.48132546439157,2074961,91.01645926192673,88.25567596822314,56.37061950843666,0.9998565100998889,0.15977457681548698,0.8400819332844018
|
||||
2024-03-16,91.40207690813878,91.72805857289752,89.77677827229003,91.04170529973594,5625678,91.51670177186287,88.52101209503388,59.74357641470952,1.078481107381947,0.343515882928779,0.7349652244531679
|
||||
2024-03-17,91.57612865221027,92.13601755166412,90.79435590624153,91.29124527571058,3377935,91.50443011659394,88.7848438265269,65.02549472417614,1.1476975152176436,0.5043522093865519,0.6433453058310917
|
||||
2024-03-18,91.1219853065748,91.38412429042135,89.76431049653259,90.83660145357388,2134106,91.39605038397785,88.98024931481709,69.60586392322499,1.1525798373661331,0.6339977349824681,0.518582102383665
|
||||
2024-03-19,91.08856475039939,92.45619950945161,90.43649064249674,91.09414279677198,9296877,90.74900405803679,89.1815725035747,67.82204174980656,1.1638148141493758,0.7399611508158497,0.42385366333352614
|
||||
2024-03-20,87.17128276533897,88.4445245724049,87.40373313734344,87.56411920906717,3474968,90.36556280697191,89.02752933266922,52.83840643295237,0.8777569762663546,0.7675203159059507,0.11023666036040392
|
||||
2024-03-21,87.30005199354153,87.67226581385977,85.66595218860732,87.26697582080654,7166160,89.61061691118603,88.85985756963468,52.19594748712552,0.6199309130350343,0.7380024353317675,-0.11807152229673312
|
||||
2024-03-22,87.6796504208543,89.56037237831517,87.73678618774093,87.97752547949578,6672540,88.94787295194307,88.77582594200241,49.57300901003916,0.4675477204496872,0.6839114923553514,-0.21636377190566425
|
||||
2024-03-23,91.10798292282433,91.36204933369234,88.94284911414562,90.6659322245201,6644807,88.91373910613231,88.95583606414695,54.03816522086861,0.5572907974237893,0.6585873533690391,-0.10129655594524978
|
||||
2024-03-24,89.75076798325411,90.7932127783904,89.01563279965663,89.81680910706491,6972558,88.6582723681909,89.0378334968058,54.55182660872247,0.5535151156273201,0.6375729058206954,-0.08405779019337523
|
||||
2024-03-25,88.08920572242734,90.05792671798854,88.12678353318303,88.45429960426516,3442266,88.8363084472305,88.98225884037336,49.80928012423578,0.43555887906057933,0.5971701004686722,-0.16161122140809292
|
||||
2024-03-26,87.51424700209823,88.7494554575408,86.70509488438252,87.65510254663388,5437677,88.91393379239597,88.85586300287436,41.01845379028485,0.2744257788162088,0.5326212361381796,-0.2581954573219708
|
||||
2024-03-27,89.53202304996107,89.55644205218323,87.78763952769202,89.34755097915215,6241218,89.18793889232725,88.90269042918653,45.43615750042211,0.28006466892458093,0.4821099226954599,-0.20204525377087895
|
||||
2024-03-28,89.77061594845206,91.71651638186104,88.70599911554885,90.02436066072673,6150635,89.05962457956856,89.00951616552369,39.22473197210969,0.33528149852058675,0.4527442378604853,-0.11746273933989854
|
||||
2024-03-29,88.79401039984187,90.27989456077893,87.72228969949909,89.16055854843496,6481140,88.92837446784259,89.02390115437238,48.99710935496638,0.3058143845623107,0.4233582672008504,-0.11754388263853971
|
||||
2024-03-30,90.27484359421193,90.76891851064178,88.97699950188868,90.16498332740557,8214615,89.27051121247067,89.13257564704222,47.16016875200526,0.35936760374865173,0.4105601345104107,-0.05119253076175895
|
||||
2024-03-31,90.5409701132669,90.68209627371387,89.17815394555515,90.4302082231016,9010643,89.82553234776421,89.25615970190502,47.213805605316814,0.41838743833764624,0.4121255952758578,0.006261843061788452
|
||||
2024-04-01,92.03864913867967,93.73786811730967,90.70538510593373,92.27253379508778,5981262,90.41052891095133,89.54343342506529,54.263576098249494,0.60682624396226,0.45106572501313824,0.1557605189491218
|
||||
2024-04-02,90.85471655931285,92.19859259321109,90.61446064577176,91.06920197226799,5525208,90.61949717325959,89.68874471527506,49.9298836793255,0.6515558038823883,0.49116374078698827,0.16039206309540005
|
||||
2024-04-03,90.66854881078056,91.52971434950489,89.67699208469634,90.56347257009666,6290717,90.90007997759191,89.77205213001997,60.159704775655314,0.6388321073060581,0.5206974140908023,0.11813469321525583
|
||||
2024-04-04,89.29259131820118,91.55182484014861,89.54589406774306,89.94382252325286,1518349,90.85584781676138,89.78841121508977,58.87340762022397,0.572152488219615,0.5309884289165648,0.041164059303050116
|
||||
2024-04-05,86.78601447443526,88.77956878906882,85.674618684587,87.40108377067766,3881990,90.2500229262766,89.56104669657432,48.29613624670557,0.31055080652799916,0.4869009044388517,-0.17635009791085254
|
||||
2024-04-06,87.68997211319865,88.27307583882232,86.34444972450112,88.00610951728667,1797968,89.39673807071637,89.41295744140407,41.0337055990315,0.15031734559849497,0.4195841926707804,-0.26926684707228543
|
||||
2024-04-07,88.4590972306781,89.10568706028131,88.48377707882216,88.55360480427454,8892861,88.89361863711767,89.33111433310603,45.65332996791659,0.06674012878269764,0.3490153798931639,-0.28227525111046625
|
||||
2024-04-08,88.78902637621593,89.09179199118603,87.40021278720589,88.65121470945283,9467691,88.51116706498891,89.2663619879962,50.74219008611458,0.008285377231459279,0.28086937936082296,-0.2725840021293637
|
||||
2024-04-09,88.97548358712864,89.63810255065042,86.68950575125194,88.32393723758398,7211411,88.18719000785514,89.1766072498617,52.61388243389717,-0.06371452988490489,0.2119525975116774,-0.2756671273965823
|
||||
2024-04-10,86.28045527735934,85.96965563975655,85.60176692175258,85.9120388430461,3655971,87.88938102232882,88.86569597302213,37.288445520487684,-0.3118007731456487,0.10720192338021217,-0.41900269652586086
|
||||
2024-04-11,85.20698700031174,86.24712985553388,84.3065482897788,85.27518093571787,6609125,87.34319530601508,88.52374215994553,32.375708762805004,-0.553420531576748,-0.024922567611179856,-0.5284979639655681
|
||||
2024-04-12,84.76789468257857,86.06871853726035,83.2237273692275,84.77595526853125,3874299,86.58766539886639,88.16681007504893,33.27612731494315,-0.7762412441792179,-0.17518630292478748,-0.6010549412544304
|
||||
2024-04-13,83.08189649661192,84.96466137423732,83.44376469302853,83.50045478602995,8339838,85.55751341418184,87.72239528561855,25.09498259401572,-1.0437191487347661,-0.3488928720867832,-0.6948262766479829
|
||||
2024-04-14,83.30689456211,83.88461476195175,82.1525007308205,83.31460663532397,8330292,84.55564729372982,87.3026058903524,23.250653088256925,-1.2562128677592739,-0.5303568712212814,-0.7258559965379925
|
||||
2024-04-15,83.9498486323718,85.45206955112839,83.57121831983908,84.07118800588268,2804673,84.18747712629715,86.99485180611718,16.428571658133492,-1.3480266651526023,-0.6938908300075456,-0.6541358351450567
|
||||
2024-04-16,87.46764677837565,87.51995915608666,85.71224691572634,87.32673698418286,3938199,84.59778833599015,87.02645991831392,36.88417939853619,-1.144896511962159,-0.7840919663984683,-0.3608045455636907
|
||||
2024-04-17,87.35615070471763,89.20396839867517,86.01536535577944,87.71896993605584,8594378,85.18639126949506,87.09241325333696,39.95123319285831,-0.9414124640200896,-0.8155560659227926,-0.12585639809729698
|
||||
2024-04-18,88.48771380516081,88.48356924420455,86.59173856035433,88.25853000560849,9998604,86.13800631341076,87.20347199164853,44.0124902950373,-0.728217464055362,-0.7980883455493065,0.06987088149394449
|
||||
2024-04-19,88.89143451281787,88.91631577034018,87.37871905876831,88.21537879380523,5909776,87.11816074510702,87.29984406804441,53.51783367013933,-0.556327831815949,-0.7497362428026351,0.19340841098668604
|
||||
2024-04-20,84.87211295107862,86.27239078802407,83.45422779723327,84.91829158107393,4303389,87.28758146014528,87.07302954547579,39.17760767220823,-0.6783320533640165,-0.7354554049149113,0.057123351550894874
|
||||
2024-04-21,85.1288230957209,85.21291384692312,83.52315202268029,84.9581796125282,9025407,86.81386998581434,86.87161526614744,36.933583345833696,-0.7630071753912091,-0.7409657590101709,-0.02204141638103818
|
||||
2024-04-22,85.43929197500553,85.53587316815089,84.60207952061258,85.14547877202612,5354385,86.2991717530084,86.70722131432636,37.34204647565542,-0.8057116010036651,-0.7539149274088698,-0.05179667359479534
|
||||
2024-04-23,89.24590651977618,90.71705592375483,87.94278248483684,89.42530283077768,9777198,86.53252631804223,86.96608622065506,53.09363604268793,-0.48857711950613236,-0.7008473658283223,0.21227024632218994
|
||||
2024-04-24,89.27060178848397,90.45481246993683,89.10468945704069,89.17068938304101,4151882,86.72358843588938,87.17604842659658,60.41553724489809,-0.25485314698984496,-0.6116485220606269,0.35679537507078196
|
||||
2024-04-25,89.80329759997174,90.9491146950871,88.72677115771482,89.79764376037429,4210016,87.69945887174944,87.42572417267064,64.46418362158647,-0.01881831053607641,-0.49308247975571684,0.47426416921964043
|
||||
2024-04-26,89.8689695284704,91.0717804796475,89.41188936209679,89.82510070152898,7737320,88.67284308954962,87.6542362230381,66.65115577643115,0.1685140188635188,-0.36076318003186975,0.5292771988953886
|
||||
2024-04-27,87.47598256271534,88.76858456340057,87.60364078389401,87.81539335389373,3389383,89.20682600592313,87.66958452121483,63.57261428244682,0.15304543987677732,-0.25800145605014035,0.4110468959269177
|
||||
2024-04-28,89.9213760397,90.36314431487956,89.77197964975288,89.91035744705643,7996746,89.30383692917887,87.88299146653307,68.52232307507666,0.3063017180183465,-0.14514082123644298,0.4514425392547895
|
||||
2024-04-29,91.57986585281861,91.98400232713335,90.08024615572114,91.35239915940582,1164053,89.74017888445185,88.21341124680667,69.6892411159271,0.5379183492509441,-0.008528987138965575,0.5464473363899096
|
||||
2024-04-30,93.56298131039271,93.22637350609833,92.25759193867283,92.88900488204759,6973544,90.35845110878651,88.65870587873438,66.58261215224896,0.8358324815185512,0.1603433065925378,0.6754891749260133
|
||||
2024-05-01,91.73032290146199,92.95114555716401,89.96913725874845,91.2924519723676,6282379,90.65192136295424,88.90953884003278,59.9397541814793,0.9323554871495361,0.31474574270393746,0.6176097444455986
|
||||
2024-05-02,94.9564390769147,95.04117032187615,93.82223699493744,93.94503506950487,3542637,91.87784970607646,89.38910990950632,64.15347126352626,1.208955861279918,0.4935877664191336,0.7153680948607845
|
||||
2024-05-03,91.05434398160259,92.13783796441159,90.82865863331784,91.40504115944951,9033951,92.17678644855508,89.58110336188186,57.06128311169881,1.2092676845254715,0.6367237500404012,0.5725439344850703
|
||||
2024-05-04,92.9730306038284,93.42463103012747,91.57047372537353,92.56928013687953,9107317,92.42016264404982,89.86569162616735,68.70408224315631,1.288604926754715,0.767099985383264,0.5215049413714511
|
||||
2024-05-05,96.80588907840531,98.54959978995994,95.18769638278062,96.71722742607656,5158549,93.18580715285562,90.51821884520632,73.93866635399175,1.666969160383033,0.9470738203832179,0.7198953399998151
|
||||
2024-05-06,95.93694467868448,95.18896065397728,94.29292721094373,94.89790611287354,5530889,93.9068979809568,90.93533191831749,68.61661488207105,1.7992805302878025,1.1175151623641348,0.6817653679236677
|
||||
2024-05-07,93.53842587329932,95.0191452479348,92.74234538467876,93.91799464347088,9411039,93.90148989575,91.21939503499877,59.812416214934395,1.80426908715215,1.254865947321738,0.549403139830412
|
||||
2024-05-08,93.80358858282176,95.15217886750817,92.52992774595856,94.19909376556465,9962049,94.46030041697303,91.50317586648123,60.96976610916249,1.810039891162731,1.3659007360899367,0.4441391550727942
|
||||
2024-05-09,93.0650030575655,94.48627475428687,92.19500189816323,93.34475385231481,9284960,94.6153951600601,91.67856424608443,57.66221602244443,1.7257814694170435,1.437876882755358,0.2879045866616854
|
||||
2024-05-10,89.58165139394568,90.57596775057337,90.12131488155025,90.54317268055404,3049949,93.38058421095558,91.57043171603392,51.38512225674457,1.416612054411246,1.4336239170865357,-0.017011862675289757
|
||||
2024-05-11,90.51929199841742,92.34091627606146,90.71358277740265,90.75787403858168,9388512,92.55257779609721,91.49304527056228,56.09818260207933,1.175368751506781,1.381972883970585,-0.20660413246380394
|
||||
2024-05-12,88.58287154329143,90.57806968047407,87.37299287088679,88.92038337979884,2268300,91.5530555433628,91.24802985239432,47.92618334382752,0.826385498655867,1.2708554069076414,-0.44446990825177446
|
||||
2024-05-13,89.91910974288031,90.86710595731506,89.81332238496445,89.85154417313565,2947763,90.683545624877,91.11503121627445,46.78721351599914,0.6178287057350786,1.140250066673129,-0.5224213609380504
|
||||
2024-05-14,88.4400287168904,89.51929632194978,86.74462842022643,88.28916197338658,8654502,89.67242724909136,90.84590081218988,40.16425806925891,0.3227542485580699,0.9767509030501172,-0.6539966544920474
|
||||
2024-05-15,91.96902928720715,92.79535702498117,90.15042460288404,91.11429933001435,4882149,89.78665257898342,90.87146257579221,49.63807604318567,0.31325952852293426,0.8440526281446807,-0.5307930996217465
|
||||
2024-05-16,90.20473837282239,91.04799297760567,88.0919478158657,89.7781021307615,5873062,89.59069819741939,90.7673330095988,41.0563575582571,0.19565950657754172,0.7143740038312529,-0.5187144972537112
|
||||
2024-05-17,89.03204131920737,89.56200179786622,87.86313810601419,89.28959879900624,8045209,89.66454128126087,90.62659641811379,45.02108560021238,0.06232407253069994,0.5839640175711424,-0.5216399450404424
|
||||
2024-05-18,90.42363843295225,91.87856549532631,89.01878066199814,90.83166091690569,9439469,89.86056463001486,90.64612637037969,45.981795263169,0.08016224531753835,0.48320366312042157,-0.4030414178028832
|
||||
2024-05-19,88.9045964317458,89.76261181053003,88.06439576040582,88.68646357332165,8678073,89.94002495000188,90.45949181827892,29.533286822475418,-0.07790236176293774,0.37098245814374975,-0.4488848199066875
|
||||
2024-05-20,88.5899196198928,89.93506999086128,87.81026679358936,89.17860238098815,5845710,89.55288556019664,90.33750234806075,34.36656978523456,-0.1615954412085614,0.2644668782732875,-0.4260623194818489
|
||||
2024-05-21,92.43796472382026,92.94831779233412,90.86283354660135,91.59916426215598,5000737,89.91709798647554,90.45766062559363,44.124352912280415,-0.03223214323138279,0.20512707397235347,-0.23735921720373626
|
||||
2024-05-22,89.2692332724496,90.40430548762927,87.89414131541743,88.74588100939341,8258746,89.80835442855297,90.29463399547933,37.775662492923665,-0.1581241533758373,0.13247682850271533,-0.29060098187855266
|
||||
2024-05-23,88.95317279168728,90.81285380839532,88.04333971034985,89.16233677919507,2443717,89.47448960101086,90.18679616535702,40.436627925382005,-0.2217339671130958,0.061634669379553114,-0.2833686364926489
|
||||
2024-05-24,88.9464655021687,90.5238747518031,88.14729656317041,89.7149342604522,5409352,89.68018373843697,90.14185693631846,47.88907144600908,-0.22496198259483435,0.004315338984675621,-0.22927732157950997
|
||||
2024-05-25,91.82488933530153,91.41403606565773,89.41235761774473,91.20747294560904,6111142,90.08595785136114,90.24334417529852,51.0758164575028,-0.10586447018089018,-0.01772062284843754,-0.08814384733245265
|
||||
2024-05-26,88.99130299375184,90.79614790815826,87.67412085182175,89.04229744860535,9421928,89.57458448865103,90.1289587727563,50.287216271630946,-0.184068573091281,-0.05099021289700623,-0.13307836019427477
|
||||
2024-05-27,87.31689725729215,88.23579826579592,86.05473549676955,86.7798099358494,9715633,89.1813702739422,89.80999221686041,43.190484186396674,-0.42372528068433724,-0.12553722645447243,-0.29818805422986483
|
||||
2024-05-28,87.07273527742194,87.99130857080365,87.03279865004028,87.77246954302234,7906571,88.90339682670766,89.61594243839964,48.824897593718575,-0.527475207933648,-0.20592482275030757,-0.32155038518334045
|
||||
2024-05-29,88.11671500786382,90.00929285246931,87.07780973964208,88.38158357628745,9752967,88.63672668987472,89.49838445153182,43.08837181372762,-0.5541593567382108,-0.2755717295478882,-0.2785876271903226
|
||||
2024-05-30,88.91507541428585,90.45964171100447,88.48813762971017,88.91274425562588,2308507,88.17778095187808,89.44260919477887,47.71841173923807,-0.5263787427006861,-0.3257331321784478,-0.20064561052223828
|
||||
2024-05-31,89.63878169174612,90.54767200149476,89.41972143551804,89.617730220858,5066621,88.29286750632862,89.45928738773878,50.85538128263006,-0.4423764895450688,-0.34906180365177203,-0.09331468589329678
|
||||
2024-06-01,88.28937441222632,89.5349240678433,87.86090283650849,88.48850251024014,1100734,88.63460602120676,89.36683168511986,43.757432021214264,-0.4616022739362933,-0.3715698977086763,-0.09003237622761695
|
||||
2024-06-02,89.26515758192883,89.6981559149439,88.47681002915041,88.98802665003527,9546310,88.87771744260935,89.3307550151118,50.880634983760395,-0.431556706123132,-0.3835672593915675,-0.04798944673156452
|
||||
2024-06-03,89.12032694689724,89.6967448361978,89.06763756275025,89.59861349797119,3851274,89.12112342694608,89.3562653468127,51.21810431975869,-0.3543909234584106,-0.37773199220493614,0.02334106874652553
|
||||
2024-06-04,88.3451766705169,89.00079729960046,87.99505776479964,88.40811417935971,2225811,89.02019741169286,89.26596523562671,40.034381678517356,-0.3848633650381572,-0.3791582667715804,-0.005705098266576836
|
||||
2024-06-05,91.85072741079722,93.26948132008289,91.7182350939038,91.79551441382357,4081091,89.45575425028598,89.50687468116926,59.2165050386128,-0.13413191606177577,-0.3301529966296195,0.19602108056784373
|
||||
2024-06-06,92.99581425519334,92.76581773463303,92.72406593106996,92.75722466266342,4829049,90.30949868077063,89.81643182226395,60.51772302299346,0.14055629789910995,-0.2360111377238736,0.37656743562298356
|
||||
2024-06-07,90.96244542024156,91.24450867471043,88.84939976698999,90.63994176469723,2868670,90.63988170370303,89.89486134059094,52.47933414118829,0.18526602013442073,-0.15175570615221476,0.3370217262866355
|
||||
2024-06-08,91.4038914245462,92.6527808717701,91.13435650985731,91.92078132350137,8265406,91.10431526880907,90.08780610086812,51.93385498679674,0.3203589465751264,-0.057332775606746524,0.37769172218187297
|
||||
2024-06-09,89.52878680640984,91.19051766063191,89.52734669341183,90.22083209144506,5813673,91.46685885122614,90.10047524282783,53.27781772704479,0.28694168300623346,0.011522116115849475,0.275419566890384
|
||||
2024-06-10,92.31729614201366,93.4188721704785,90.48438315712563,91.7312814810567,5755469,91.45401226467276,90.25579012265915,64.37259645321194,0.3779817647602357,0.08481404584472672,0.29316771891550897
|
||||
2024-06-11,94.10470409024698,94.59937634508,93.53850895364036,93.94860190615046,8551989,91.69228771337016,90.60748648299166,66.73744010166016,0.6218822414722922,0.19222768497023981,0.4296545565020524
|
||||
2024-06-12,92.15433444273032,93.14237835169624,90.74307347356672,92.50051137969179,5335702,92.06440163636907,90.78777456839167,60.67686764623377,0.6903681884497388,0.2918557856661396,0.3985124027835992
|
||||
2024-06-13,95.10721949695393,95.76730513585919,92.8910371602297,94.37526758319325,8974411,92.55529888830745,91.12944056980135,63.23758837463547,0.8857110270908777,0.41062683395108723,0.47508419313979044
|
||||
2024-06-14,95.30385839207284,96.11023310376078,95.0784433012216,95.24876905943385,3962732,93.56088628190521,91.52175756881397,63.535410374490056,1.0983448671270253,0.5481704405862748,0.5501744265407504
|
||||
2024-06-15,97.48145077655028,97.34535136266379,96.10066695014721,96.91002219513882,2992825,94.59663442472163,92.03492562846395,69.73809377022934,1.3849431985833576,0.7155249921856914,0.6694182063976661
|
||||
2024-06-16,100.71728713496323,101.5943592638274,98.9130466212988,100.68329721830551,4832978,95.94357348715265,92.85858006559172,73.7641955465376,1.8947052185401105,0.9513610374565753,0.9433441810835352
|
||||
2024-06-17,101.3232113330296,100.57238141440243,98.394910151507,100.28985082317668,7152941,97.50144137584962,93.56632013774268,71.91745871943822,2.24111329703112,1.2093114893714842,1.0318018076596358
|
||||
2024-06-18,99.74612450699686,99.22711582789343,97.95398159738996,98.87829892433093,5115811,98.40204764407716,94.07222287932251,71.27150155422112,2.374373454379324,1.4423238823730522,0.9320495720062716
|
||||
2024-06-19,97.09708463777073,98.18711114657033,96.02540990830232,97.2181037498549,9983212,98.79591458216137,94.37183058127798,61.84818870491578,2.31928395172379,1.6177158962432,0.7015680554805901
|
||||
2024-06-20,96.19412929634623,96.53115832698727,95.40929111769553,95.72909127512538,4174108,98.55972839815868,94.50109350450154,56.34717928338648,2.130910452209278,1.7203548074364157,0.41055564477286244
|
||||
2024-06-21,95.98594166300703,97.42780077162338,93.78055800111231,95.67720283484108,3731638,97.5585095214658,94.61310391691482,61.79933508928341,1.9549012484962134,1.7672640956483754,0.187637152847838
|
||||
2024-06-22,97.08554557867004,97.12457100244374,95.97890730124126,96.42568937151668,1264500,96.7856772311338,94.78573110306738,60.822250232643896,1.8544325505242512,1.7846977866235507,0.06973476390070044
|
||||
2024-06-23,96.58746039027082,98.182705455568,95.22576691515312,97.05571708225126,3976031,96.42116086271785,95.00192024394204,67.30941796668314,1.8048432449863014,1.788726878296101,0.016116366690200445
|
||||
2024-06-24,99.09719689287968,100.00725863645572,97.47526840414773,98.75843006720588,7512427,96.72922612618805,95.35968308425288,67.62469488637889,1.8812521668548072,1.8072319360078424,0.07402023084696485
|
||||
2024-06-25,99.40616967751987,98.90876577468896,97.68097426320237,98.88286942586842,3903633,97.35998175633667,95.69522464059722,63.82718099856445,1.9296047220940409,1.8317064932250822,0.09789822886895871
|
||||
2024-06-26,100.96065082559164,103.208054528188,100.8119331483846,101.85634470244622,6711813,98.5958101298577,96.28199797982093,74.1527846246571,2.182698287753851,1.9019048521308362,0.28079343562301506
|
||||
2024-06-27,100.8190366551663,101.7801863079096,100.9511751780754,101.41906149446581,2940369,99.59448455444752,96.77124212407283,69.64188010719049,2.3212339218905527,1.9857706660827796,0.33546325580777303
|
||||
2024-06-28,105.94664375597505,109.09544192506537,106.66011641294298,107.03802063559431,4948242,101.59094526511612,97.74903055374153,75.99499043511108,2.8515564850006,2.158927829866344,0.6926286551342562
|
||||
2024-06-29,108.33833026764718,108.8070144682696,108.00607598805666,108.48446254585167,9127125,103.53615176084529,98.77145264822822,75.76541469797809,3.349940679879424,2.39713039986896,0.9528102800104641
|
||||
2024-06-30,107.11610931090692,107.61826450870647,106.33519849456384,106.7331814718988,2217060,105.10621417005136,99.52971253619685,64.79970787658883,3.5625333317354944,2.630210986242267,0.9323223454932275
|
||||
2024-07-01,105.33930597729629,104.73239223304124,102.92374714263292,104.55391938672167,2031519,105.64572910690644,100.00820842672303,59.59294769244001,3.514651586859486,2.807099106365711,0.7075524804937752
|
||||
2024-07-02,105.70650794583574,107.77410237405907,104.9274247035657,105.66736094630147,5678714,106.49538899727358,100.54717533334954,65.48112107659104,3.5259059386540486,2.9508604728233787,0.5750454658306698
|
||||
2024-07-03,106.15824623762086,106.35840431558921,105.17895627927075,105.30077385134592,9109698,106.1479396404239,100.99989900173016,69.58647077725412,3.465298771503427,3.0537481325593885,0.41155063894403865
|
||||
2024-07-04,106.17203906404472,108.18282023015293,104.83763991658056,106.90977071636007,2390281,105.83300127452557,101.56274392693301,76.93713401570946,3.506676965714149,3.144333899190341,0.3623430665238083
|
||||
2024-07-05,107.1084852880975,108.17347850436974,106.1190727640838,108.02855500582669,4941106,106.09207598131118,102.17853545825622,78.30259118668128,3.588381397765872,3.2331433989054474,0.3552379988604244
|
||||
2024-07-06,107.9492415276962,109.59883462212818,105.9756719453439,107.97923151689315,3322466,106.77713840734546,102.73098270193593,77.35081995927969,3.6075669690850276,3.3080281129413636,0.29953885614366405
|
||||
2024-07-07,106.46253911938517,106.70457306891353,104.14414003013623,106.25848804980286,8778748,106.89536382804575,103.06693559220896,70.71601406155486,3.444219240190151,3.335266338391121,0.10895290179902961
|
||||
2024-07-08,103.12857745269184,104.99804310244603,102.78670898692484,103.14543902342146,9099932,106.46429686246083,103.0744121094673,59.28582752571093,3.0286554933367853,3.273944169380254,-0.2452886760434687
|
||||
2024-07-09,101.26968430313796,102.74729323421924,101.51653602201036,102.32746484721538,2851317,105.5478356886319,103.00327427496713,57.08309695040119,2.6033052674342514,3.1398163889910538,-0.5365111215568024
|
||||
2024-07-10,104.13603094010895,104.57978095874395,102.60255175012132,104.18245466248925,2946830,104.77861561996443,103.11557716901685,55.013791023789125,2.388362764969102,2.9895256641866634,-0.6011628992175613
|
||||
2024-07-11,104.04963007116174,104.80929228531657,103.274810517003,104.73273335297908,3614150,104.1293159871816,103.26959204367992,57.107798884217736,2.2366395857551993,2.838948448500371,-0.6023088627451716
|
||||
2024-07-12,102.57037021241202,103.19324342717194,101.9134238989509,102.22807353956588,8238987,103.3232330851342,103.17039980519287,38.09172225154829,1.892477456403597,2.6496542500810163,-0.7571767936774192
|
||||
2024-07-13,102.87260023083711,103.84438790040184,101.00891427831954,102.68438066157674,5660061,103.23102141276527,103.12411226770563,34.90008602467336,1.6376686359449053,2.447257127253794,-0.8095884913088889
|
||||
2024-07-14,103.09163041295244,103.71450646926706,103.11344272590682,103.57838657215027,3605214,103.48120575775224,103.16737648717654,41.403080610917094,1.4906859160763588,2.255942885018307,-0.7652569689419484
|
||||
2024-07-15,101.5893051320544,103.43075959382105,101.395073481948,101.85099441469218,8923641,103.01491370819284,103.04200676598755,42.448467812142674,1.22074297580005,2.048902903174656,-0.8281599273746059
|
||||
2024-07-16,101.72437892855905,103.19310710441255,101.16770212552089,102.265986507248,3229180,102.5215643390466,102.96810007467903,40.11118204472443,1.0284424006216426,1.8448108026640533,-0.8163684020424107
|
||||
2024-07-17,102.455188874343,103.56217487426332,101.27193158028886,102.48730793405932,5188891,102.57341121794529,102.92231034700096,41.75073040445681,0.8837146860181377,1.6525915793348702,-0.7688768933167325
|
||||
2024-07-18,100.72574700770525,101.13069909344554,99.08395826632392,100.24699626452835,5031419,102.08593433853562,102.66751852962261,31.161715994925174,0.5815388825796646,1.4383810399838293,-0.8568421574041647
|
||||
2024-07-19,100.56647545324522,101.87464447633442,100.87966383845176,101.06458542431949,5495511,101.58317410896946,102.51485823387945,29.968951235720397,0.4033850221758257,1.2313818364222286,-0.8279968142464029
|
||||
2024-07-20,102.55697679662151,103.44417382922391,100.50388895492834,102.29915912313939,2424945,101.67280705065892,102.49431546142802,34.70482869816024,0.35769331809378,1.056644132756539,-0.698950814662759
|
||||
2024-07-21,104.33999214305514,104.94217941448476,104.06163539064806,104.61736291154455,3363999,102.14308233151822,102.69651045667722,45.71857656115308,0.502746634847071,0.9458646331746454,-0.44311799832757437
|
||||
2024-07-22,106.50300293807815,107.31596032947822,106.64992752773746,106.92690010874944,5790691,103.03100076645623,103.09940470925552,60.296898294818085,0.7948996749881161,0.9156716415373396,-0.12077196654922351
|
||||
2024-07-23,104.03192602921074,105.88165314602108,102.23747510794834,104.08762871104955,9807673,103.79912725576048,103.19352128085495,54.317633302151165,0.7882412368206957,0.8901855605940109,-0.10194432377331519
|
||||
2024-07-24,101.71018389660136,104.17400212892029,100.28529199703874,102.2393966487484,5225889,104.03408950064627,103.10265226827337,45.23215171134184,0.6266043901319307,0.8374693265015949,-0.2108649363696642
|
||||
2024-07-25,103.10855172098648,104.16673859220691,101.6119841428666,103.39477394484193,4092195,104.25321246498677,103.13047338032752,46.8116152676355,0.5849918940939887,0.7869738400200736,-0.20198194592608498
|
||||
2024-07-26,103.93437006199544,105.1268090051401,102.86775423968355,104.56062436379885,1289102,104.24186475543763,103.26667823589621,55.937369376125744,0.6387252494899514,0.7573241219140492,-0.11859887242409783
|
||||
2024-07-27,106.78103151203989,107.10421847306975,104.35652379496855,105.74225914130847,5443778,104.00493656194945,103.50244784593546,57.50646721271143,0.7678065757184385,0.7594206126749271,0.008385963043511357
|
||||
2024-07-28,114.01603154155286,114.92781268995455,112.74002204657383,113.9959320341836,9043756,105.98659722657624,104.50182729243528,68.78527206563854,1.5186013888536678,0.9112567679106753,0.6073446209429925
|
||||
2024-07-29,115.00772998943275,115.4701094370959,115.21072641383236,115.41151188333654,5162065,108.62102027349388,105.54084487252112,74.7308950975255,2.202448693221342,1.1694951529728088,1.0329535402485333
|
||||
2024-07-30,118.27447691046692,118.51705290389656,117.18291116374822,118.14807034274011,1260116,111.57167955307352,106.74153301254198,76.70360570585945,2.931428325106026,1.5218817873994523,1.4095465377065737
|
||||
2024-07-31,120.45279860559806,122.24627420718751,119.62215572521413,120.5204877622887,7086368,114.76365223277148,108.05381441727977,78.27509050802587,3.6584122943801844,1.949187888795599,1.7092244055845855
|
||||
2024-08-01,122.07610335653219,123.82168484183167,121.57623201796952,122.21112807668023,5214279,118.05742601984585,109.40213000388934,85.04265385190162,4.321161215109058,2.423582554058291,1.8975786610507668
|
||||
2024-08-02,121.93604997221108,121.62862827184745,119.80393222101637,121.56275100404929,2257949,119.57078981381896,110.56028438485696,82.88131828667944,4.739442555013142,2.8867545542492614,1.8526880007638802
|
||||
2024-08-03,123.99743445867323,124.07796395896241,122.30445524038306,123.52956148246457,8537165,121.19439973364459,111.79545363224815,83.27423610237275,5.170041676520839,3.343411978703577,1.8266296978172618
|
||||
2024-08-04,121.42082983590281,122.30639411922229,121.54641843242322,121.74375584685868,4850241,121.9135368344683,112.74291098602059,77.2976109112227,5.306030377123605,3.7359356583875827,1.5700947187360224
|
||||
2024-08-05,120.9396741343606,122.91873818145156,120.75476040892788,121.28887586992656,6538166,122.06721445599587,113.55681240353545,74.32987156291115,5.31581992642036,4.051912511994138,1.263907414426222
|
||||
2024-08-06,120.06742961169627,120.28017781899898,118.58977874098855,120.23278076370786,1388076,121.6715449934014,114.19261891402806,79.10931736087146,5.178663753704711,4.277262760336253,0.9014009933684584
|
||||
2024-08-07,119.16241090696425,120.80089822114358,120.36634131470916,120.54989265349263,5884797,121.46897332329006,114.79807355588183,84.94261226141988,5.0374857776430275,4.429307363797609,0.6081784138454189
|
||||
2024-08-08,125.29460684563072,128.27088476483723,124.10176354748137,126.25107938098567,6540070,122.01327690299426,115.88883601541552,87.16880860189448,5.3242645293304065,4.608298796904169,0.7159657324262376
|
||||
2024-08-09,122.49393186987156,122.09688914373186,120.45763079172579,121.66244553926163,7491878,121.99701484147485,116.43870358911515,75.0250501214455,5.122228492374376,4.71108473599821,0.4111437563761653
|
||||
2024-08-10,124.46933865354558,125.06563155075735,122.26734362127043,123.45394984554494,2960826,122.43002963659856,117.1068222802037,75.46299661010762,5.048477200190689,4.778563228836706,0.2699139713539829
|
||||
2024-08-11,119.44656298527812,120.16519259472584,118.17849503182937,119.59548090985126,3844664,122.30256966582724,117.34383738778918,59.214612909364284,4.625364253322601,4.747923433733885,-0.122559180411284
|
||||
2024-08-12,118.92811668577183,118.82210567504194,116.6303414256276,118.58625802184571,3613275,121.90984273949785,117.46216316246122,55.29517734222805,4.160646993305022,4.630468145648113,-0.46982115234309063
|
||||
2024-08-13,121.47628963049189,121.87741092564066,120.44383737400395,121.28753580916786,2378369,120.91713402513429,117.82648436690947,55.24250239021923,3.9646240405043613,4.497299324619362,-0.5326752841150011
|
||||
2024-08-14,123.43616753609774,123.3207946367711,119.91629335691998,121.56475064733412,3090212,120.89759504674878,118.18250972694992,51.87498521862919,3.7879779074173427,4.355435041178959,-0.5674571337616161
|
||||
2024-08-15,119.73251642560454,121.10368700579232,117.71881105486753,119.06599989417259,6230852,120.02000505647432,118.26665164763779,44.51214301340134,3.4070815560864958,4.165764344160467,-0.7586827880739708
|
||||
2024-08-16,117.40655898683534,119.43241166908913,116.85428017014728,117.48169886664579,5171774,119.5972486478332,118.19189423992427,43.104295729175256,2.9434483606133455,3.9213011474510426,-0.9778527868376972
|
||||
2024-08-17,118.62650359990768,120.14284018023385,117.10140316700638,119.1959865273283,1152999,119.71919434892973,118.28752207681988,42.61458612043936,2.6834117005037683,3.673723258061588,-0.9903115575578196
|
||||
2024-08-18,116.62966511344491,119.14503655611766,115.69891499766865,117.5740470899723,5542923,118.97649660509062,118.21957207807249,42.85393899428506,2.319713601990614,3.4029213268473932,-1.0832077248567793
|
||||
2024-08-19,118.32086702406237,118.68520479880067,116.64403109131476,118.20061938515308,9449975,118.3036703526544,118.21776705969921,44.73830033897178,2.0583124417797336,3.1339995498338613,-1.0756871080541277
|
||||
2024-08-20,117.97869234276061,119.120881899367,116.41192316440383,118.42655239860127,5600108,118.17578085354015,118.23765137768989,46.83300132037195,1.8480775573109014,2.8768151513292697,-1.0287375940183683
|
||||
2024-08-21,116.16961319078644,119.09909857108165,114.97214636214403,117.00164329682612,3854190,118.07976973957621,118.11993632236953,44.011232297251205,1.5486349410491442,2.6111791092732446,-1.0625441682241004
|
||||
2024-08-22,121.74069691526272,122.16730451204387,120.40521861356167,122.13554457187456,2284382,118.66768134848546,118.50237520327477,42.91814959884678,1.7059226232861135,2.4301278120758183,-0.7242051887897047
|
||||
2024-08-23,123.13664948513899,124.01789067533721,121.7336128784642,123.80616101655207,8196042,119.91410413380143,119.00749766168212,54.100623011332715,1.942981547995501,2.332698559259755,-0.38971701126425407
|
||||
2024-08-24,119.91860075111934,119.40988240653348,117.25666173615157,118.91546459426445,4853321,120.05707317562369,118.99873260764234,42.23874582880453,1.716428209759158,2.209444489359636,-0.4930162796004778
|
||||
2024-08-25,120.00450809595316,119.5412262889904,117.8525912713097,119.47782608818696,3654837,120.26732791354081,119.0443605581704,49.77323473086081,1.5642294661004712,2.080401484707803,-0.5161720186073318
|
||||
2024-08-26,118.0112232580648,118.44417317535478,116.55580783702045,118.01592775137286,8684365,120.47018480445017,118.94641457657063,48.919610495254446,1.310540788603788,1.926429345487,-0.615888556883212
|
||||
2024-08-27,121.03500442716651,121.54695963288732,118.33724066248696,120.14595789616772,2042377,120.0722674693088,119.06065679748464,47.78964549267079,1.266763850108788,1.7944962464113576,-0.5277323963025697
|
||||
2024-08-28,118.40752782643021,119.3593514553306,117.98628506205776,118.36174058863239,5577033,118.98338338372487,118.99409334902252,44.14020955738329,1.0756988982639086,1.650736776781868,-0.5750378785179593
|
||||
2024-08-29,117.69943868808268,120.3189218069785,116.12596610966469,118.20849423080165,7105931,118.84198931103231,118.91927438538244,48.283952889110545,0.9015206778375386,1.5008935569930022,-0.5993728791554636
|
||||
2024-08-30,120.43080179588412,121.47460498896741,117.4365135871698,119.52057844211224,4257181,118.85053978181736,118.97654143840433,54.12516663804096,0.8594502065785434,1.3726048869101106,-0.5131546803315672
|
||||
2024-08-31,122.03756290937389,122.54165938553754,121.63841674410224,121.70961025248386,6262696,119.58927628203958,119.2368337064119,54.98983612356592,0.9913183269998171,1.296347574928052,-0.3050292479282348
|
||||
2024-09-01,118.29287524585924,119.52652627136894,116.9456174486691,118.90956770493204,6154048,119.34199824379243,119.20566551579478,52.53270097318993,0.859971513542277,1.209072362650897,-0.34910084910862005
|
||||
2024-09-02,118.12044779018801,119.13081254258496,117.92823598386501,118.23296932562471,1923780,119.31624399119089,119.11302778339763,50.0612327205761,0.6932905609052398,1.1059160023017656,-0.4126254413965258
|
||||
2024-09-03,116.7148830053986,118.6121017151551,116.44241135228441,117.22811840683347,9361735,119.12016882639725,118.93351260467723,47.796549552793365,0.4746402761617645,0.9796608570737654,-0.5050205809120009
|
||||
2024-09-04,115.01284048807024,116.43448356607318,114.09140840264423,115.81357539254438,2942811,118.37876821648369,118.63637572733124,47.81477575391875,0.18508302884211503,0.8207452914274354,-0.6356622625853203
|
||||
2024-09-05,120.57445326549505,121.51685063835833,119.63277657596656,120.01866032311457,7507640,118.04057823060982,118.76802187931061,45.96865383046256,0.29156109986118395,0.7149084531141852,-0.4233473532530012
|
||||
2024-09-06,122.2670409843902,122.10246957332026,119.12949364348503,121.11078623153561,1298090,118.48082193593055,118.99114229380822,44.751344505478635,0.4587826114469067,0.6636832847807295,-0.20490067333382278
|
||||
2024-09-07,117.35136613272205,119.48255810660025,116.21096894538623,118.17776407664225,9705956,118.46978088613407,118.91367770169718,48.44492550137622,0.3505950470687651,0.6010656372383366,-0.2504705901695715
|
||||
2024-09-08,120.80445075024352,121.51612207399158,119.2427136358521,120.46535929339821,6425838,119.11722906344701,119.0614569009068,51.94057301696729,0.4443235532707632,0.569717220444822,-0.12539366717405875
|
||||
|
+72
@@ -0,0 +1,72 @@
|
||||
# TradingView Pine Script 到 Python 转换技术分析报告
|
||||
|
||||
## 1. 项目概述
|
||||
|
||||
- **项目目标**: 评估将 TradingView Pine Script 指标库迁移到 Python 的可行性和工作量
|
||||
- **工作目录**: `pangtong-value/research/tradingview-analysis-20260326/jiangwei/`
|
||||
- **时间**: 2026-03-26
|
||||
|
||||
## 2. 转换基础框架搭建
|
||||
|
||||
### 2.1 核心依赖库
|
||||
我们选择以下 Python 库作为转换基础:
|
||||
- **pandas**: 时间序列数据处理
|
||||
- **pandas-ta**: Pine Script 风格的技术指标库
|
||||
- **numpy**: 数值计算
|
||||
- **yfinance**: 获取测试数据(可选)
|
||||
- **matplotlib**: 可视化(可选)
|
||||
|
||||
### 2.2 示例指标实现
|
||||
我们实现了以下常用指标的 Pine Script 到 Python 转换:
|
||||
1. **MA (移动平均)**: SMA 和 EMA
|
||||
2. **RSI (相对强弱指标)**: 14日周期
|
||||
3. **MACD (指数平滑异同移动平均线)**: 12, 26, 9 参数
|
||||
|
||||
## 3. 通用转换规则整理
|
||||
|
||||
详见 `conversion_rules.md`,核心要点:
|
||||
- Pine Script 的 OHLCV 变量对应 pandas DataFrame 的列
|
||||
- 使用 pandas-ta 库实现技术指标,语法与 Pine Script 高度相似
|
||||
- Pine Script 的向量式执行模型对应 pandas 的向量化操作
|
||||
- 状态管理使用 `cumsum()`、`shift()` 等方法
|
||||
|
||||
## 4. 完整迁移工作量与可行性评估
|
||||
|
||||
### 4.1 可行性分析
|
||||
✅ **高度可行**,理由如下:
|
||||
1. 已有成熟的技术指标库(pandas-ta、ta-lib)
|
||||
2. Python 数据科学生态完善
|
||||
3. 转换规则清晰,可部分自动化
|
||||
|
||||
### 4.2 工作量评估
|
||||
假设指标库有 N 个指标:
|
||||
|
||||
| 任务 | 工作量估算 | 说明 |
|
||||
|------|------------|------|
|
||||
| 指标逐个转换 | 0.5-2 天/指标 | 取决于复杂度 |
|
||||
| 单元测试 | 0.2-1 天/指标 | 与 TradingView 结果对比验证 |
|
||||
| 文档编写 | 0.1-0.5 天/指标 | 用法说明和示例 |
|
||||
| 框架和工具开发 | 5-10 天 | 转换辅助工具、测试框架等 |
|
||||
|
||||
**总估算**: 对于 50 个指标的指标库,约需 30-100 人天
|
||||
|
||||
### 4.3 风险与挑战
|
||||
1. **结果一致性**: 需严格验证与 TradingView 计算结果的一致性
|
||||
2. **复杂指标**: 涉及自定义状态、循环的复杂指标转换难度大
|
||||
3. **性能优化**: 超大规模数据回测时需考虑性能优化
|
||||
|
||||
## 5. 产出物清单
|
||||
|
||||
- `requirements.txt`: 项目依赖
|
||||
- `pine_to_python_examples.py`: 示例代码(含 MA、RSI、MACD)
|
||||
- `conversion_rules.md`: 通用转换规则
|
||||
- `technical_analysis_report.md`: 本报告
|
||||
- `sample_data_with_indicators.csv`: 示例数据(运行代码后生成)
|
||||
- `indicators_plot.png`: 指标可视化(运行代码后生成)
|
||||
|
||||
## 6. 后续建议
|
||||
|
||||
1. **试点验证**: 选择 3-5 个核心指标进行完整转换和验证
|
||||
2. **工具开发**: 开发半自动转换工具,提高效率
|
||||
3. **测试框架**: 建立自动化测试框架,确保结果一致性
|
||||
4. **文档完善**: 编写详细的开发文档和使用指南
|
||||
Reference in New Issue
Block a user