質問編集履歴
8
あ
test
CHANGED
File without changes
|
test
CHANGED
@@ -148,6 +148,8 @@
|
|
148
148
|
|
149
149
|
ema50(移動平均線)は良さそうな値が出てますが、ema50_slope(移動平均線の傾き) はほぼ0なので、傾きがうまく出てないようです。
|
150
150
|
|
151
|
+
Closing Priceもなにかおかしいです
|
152
|
+
|
151
153
|
(理想のグラフ)
|
152
154
|
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-11-29/86d79029-0f56-4dd5-9f3b-10ca4e616b6d.png)
|
153
155
|
|
7
あ
test
CHANGED
File without changes
|
test
CHANGED
@@ -138,6 +138,7 @@
|
|
138
138
|
lange(51,len(ma),1) としてema50 の51行目以降にしてみましたが、無意味でした。
|
139
139
|
(50行目(49行目?)まではema50は作成されないと思います。NaN )
|
140
140
|
|
141
|
+
(2023.11.29.0時追記)
|
141
142
|
ご回答通り、
|
142
143
|
ma.iloc[i] にすることで、エラーなく処理は終わりましたが、EMA50(黄色のグラフ)が直線になってしまいます。
|
143
144
|
理想のグラフ、
|
6
あ
test
CHANGED
File without changes
|
test
CHANGED
@@ -152,19 +152,7 @@
|
|
152
152
|
|
153
153
|
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-11-29/817fa1ea-0ee6-4e0e-98bf-f25dddcb5989.png)
|
154
154
|
```
|
155
|
-
0 2023-11-26 22:00:00 149.514 149.514 149.501 149.502
|
156
|
-
1 2023-11-26 22:01:00 149.502 149.507 149.502 149.503
|
157
|
-
2 2023-11-26 22:02:00 149.503 149.507 149.503 149.504
|
158
|
-
3 2023-11-26 22:03:00 149.503 149.511 149.503 149.505
|
159
|
-
4 2023-11-26 22:04:00 149.505 149.505 149.503 149.503
|
160
|
-
... ... ... ... ... ...
|
161
|
-
1375 2023-11-27 20:55:00 148.681 148.691 148.677 148.689
|
162
|
-
1376 2023-11-27 20:56:00 148.689 148.702 148.687 148.699
|
163
|
-
1377 2023-11-27 20:57:00 148.699 148.707 148.699 148.703
|
164
|
-
1378 2023-11-27 20:58:00 148.703 148.703 148.668 148.669
|
165
|
-
1379 2023-11-27 20:59:00 148.669 148.691 148.669 148.69
|
166
155
|
|
167
|
-
[1380 rows x 5 columns]
|
168
156
|
Date time Open High Low Close ema50 \
|
169
157
|
0 2023-11-26 22:00:00 149.514 149.514 149.501 149.502 NaN
|
170
158
|
1 2023-11-26 22:01:00 149.502 149.507 149.502 149.503 NaN
|
5
あ
test
CHANGED
File without changes
|
test
CHANGED
@@ -138,10 +138,16 @@
|
|
138
138
|
lange(51,len(ma),1) としてema50 の51行目以降にしてみましたが、無意味でした。
|
139
139
|
(50行目(49行目?)まではema50は作成されないと思います。NaN )
|
140
140
|
|
141
|
+
ご回答通り、
|
142
|
+
ma.iloc[i] にすることで、エラーなく処理は終わりましたが、EMA50(黄色のグラフ)が直線になってしまいます。
|
143
|
+
理想のグラフ、
|
144
|
+
問題のグラフ画像、
|
141
|
-
|
145
|
+
コードの最後にprint(df) を追加し、出てきたメッセージ
|
142
|
-
し
|
146
|
+
を記載しました。
|
147
|
+
|
143
|
-
|
148
|
+
ema50(移動平均線)は良さそうな値が出てますが、ema50_slope(移動平均線の傾き) はほぼ0なので、傾きがうまく出てないようです。
|
149
|
+
|
144
|
-
(理想の
|
150
|
+
(理想のグラフ)
|
145
151
|
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-11-29/86d79029-0f56-4dd5-9f3b-10ca4e616b6d.png)
|
146
152
|
|
147
153
|
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-11-29/817fa1ea-0ee6-4e0e-98bf-f25dddcb5989.png)
|
4
あ
test
CHANGED
File without changes
|
test
CHANGED
@@ -138,8 +138,59 @@
|
|
138
138
|
lange(51,len(ma),1) としてema50 の51行目以降にしてみましたが、無意味でした。
|
139
139
|
(50行目(49行目?)まではema50は作成されないと思います。NaN )
|
140
140
|
|
141
|
+
ご回答通り、.iloc をつけてみました。
|
142
|
+
しかし、下記のようになりました。
|
143
|
+
|
144
|
+
(理想のイメージ)
|
145
|
+
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-11-29/86d79029-0f56-4dd5-9f3b-10ca4e616b6d.png)
|
146
|
+
|
147
|
+
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-11-29/817fa1ea-0ee6-4e0e-98bf-f25dddcb5989.png)
|
148
|
+
```
|
149
|
+
0 2023-11-26 22:00:00 149.514 149.514 149.501 149.502
|
150
|
+
1 2023-11-26 22:01:00 149.502 149.507 149.502 149.503
|
151
|
+
2 2023-11-26 22:02:00 149.503 149.507 149.503 149.504
|
152
|
+
3 2023-11-26 22:03:00 149.503 149.511 149.503 149.505
|
153
|
+
4 2023-11-26 22:04:00 149.505 149.505 149.503 149.503
|
154
|
+
... ... ... ... ... ...
|
155
|
+
1375 2023-11-27 20:55:00 148.681 148.691 148.677 148.689
|
156
|
+
1376 2023-11-27 20:56:00 148.689 148.702 148.687 148.699
|
157
|
+
1377 2023-11-27 20:57:00 148.699 148.707 148.699 148.703
|
158
|
+
1378 2023-11-27 20:58:00 148.703 148.703 148.668 148.669
|
159
|
+
1379 2023-11-27 20:59:00 148.669 148.691 148.669 148.69
|
160
|
+
|
161
|
+
[1380 rows x 5 columns]
|
162
|
+
Date time Open High Low Close ema50 \
|
163
|
+
0 2023-11-26 22:00:00 149.514 149.514 149.501 149.502 NaN
|
164
|
+
1 2023-11-26 22:01:00 149.502 149.507 149.502 149.503 NaN
|
165
|
+
2 2023-11-26 22:02:00 149.503 149.507 149.503 149.504 NaN
|
166
|
+
3 2023-11-26 22:03:00 149.503 149.511 149.503 149.505 NaN
|
167
|
+
4 2023-11-26 22:04:00 149.505 149.505 149.503 149.503 NaN
|
168
|
+
... ... ... ... ... ... ...
|
169
|
+
1375 2023-11-27 20:55:00 148.681 148.691 148.677 148.689 148.677618
|
170
|
+
1376 2023-11-27 20:56:00 148.689 148.702 148.687 148.699 148.678456
|
171
|
+
1377 2023-11-27 20:57:00 148.699 148.707 148.699 148.703 148.679419
|
172
|
+
1378 2023-11-27 20:58:00 148.703 148.703 148.668 148.669 148.679010
|
173
|
+
1379 2023-11-27 20:59:00 148.669 148.691 148.669 148.69 148.679441
|
174
|
+
|
175
|
+
ema50_slope
|
176
|
+
0 NaN
|
177
|
+
1 NaN
|
178
|
+
2 NaN
|
179
|
+
3 NaN
|
180
|
+
4 NaN
|
181
|
+
... ...
|
182
|
+
1375 0.000465
|
183
|
+
1376 0.000839
|
184
|
+
1377 0.000962
|
185
|
+
1378 -0.000409
|
186
|
+
1379 0.000431
|
187
|
+
|
188
|
+
[1380 rows x 7 columns]
|
189
|
+
2023-11-29 00:38:00.894 Python[8482:492950] WARNING: Secure coding is not enabled for restorable state! Enable secure coding by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState: and returning YES.
|
190
|
+
```
|
141
191
|
### 補足情報(FW/ツールのバージョンなど)
|
142
192
|
|
143
193
|
macOS
|
144
194
|
Python3
|
145
195
|
|
196
|
+
|
3
z
test
CHANGED
File without changes
|
test
CHANGED
@@ -23,13 +23,13 @@
|
|
23
23
|
3 2023-11-26 22:03:00 149.503 149.511 149.503 149.505
|
24
24
|
4 2023-11-26 22:04:00 149.505 149.505 149.503 149.503
|
25
25
|
.. ... ... ... ... ...
|
26
|
+
963 2023-11-27 14:03:00 148.866 148.89 148.858 148.876
|
27
|
+
964 2023-11-27 14:04:00 148.877 148.886 148.857 148.871
|
26
|
-
95
|
28
|
+
965 2023-11-27 14:05:00 148.871 148.888 148.862 148.872
|
27
|
-
9
|
29
|
+
966 2023-11-27 14:06:00 148.872 148.874 148.853 148.858
|
28
|
-
957 2023-11-27 13:57:00 148.799 148.84 148.797 148.814
|
29
|
-
9
|
30
|
+
967 2023-11-27 14:07:00 148.858 148.871 148.854 148.871
|
30
|
-
959 2023-11-27 13:59:00 148.82 148.821 148.798 148.805
|
31
31
|
|
32
|
-
[96
|
32
|
+
[968 rows x 5 columns]
|
33
33
|
Date time Open High Low Close ema50
|
34
34
|
0 2023-11-26 22:00:00 149.514 149.514 149.501 149.502 NaN
|
35
35
|
1 2023-11-26 22:01:00 149.502 149.507 149.502 149.503 NaN
|
@@ -37,13 +37,13 @@
|
|
37
37
|
3 2023-11-26 22:03:00 149.503 149.511 149.503 149.505 NaN
|
38
38
|
4 2023-11-26 22:04:00 149.505 149.505 149.503 149.503 NaN
|
39
39
|
.. ... ... ... ... ... ...
|
40
|
+
963 2023-11-27 14:03:00 148.866 148.89 148.858 148.876 148.801582
|
41
|
+
964 2023-11-27 14:04:00 148.877 148.886 148.857 148.871 148.804304
|
40
|
-
95
|
42
|
+
965 2023-11-27 14:05:00 148.871 148.888 148.862 148.872 148.806959
|
41
|
-
9
|
43
|
+
966 2023-11-27 14:06:00 148.872 148.874 148.853 148.858 148.808960
|
42
|
-
957 2023-11-27 13:57:00 148.799 148.84 148.797 148.814 148.789896
|
43
|
-
9
|
44
|
+
967 2023-11-27 14:07:00 148.858 148.871 148.854 148.871 148.811393
|
44
|
-
959 2023-11-27 13:59:00 148.82 148.821 148.798 148.805 148.791623
|
45
45
|
|
46
|
-
[96
|
46
|
+
[968 rows x 6 columns]
|
47
47
|
Traceback (most recent call last):
|
48
48
|
File "/opt/homebrew/lib/python3.11/site-packages/pandas/core/indexes/range.py", line 414, in get_loc
|
49
49
|
return self._range.index(new_key)
|
@@ -53,10 +53,10 @@
|
|
53
53
|
The above exception was the direct cause of the following exception:
|
54
54
|
|
55
55
|
Traceback (most recent call last):
|
56
|
-
File "/Users/uta/Documents/code/fx/trade_test3.py", line 4
|
56
|
+
File "/Users/uta/Documents/code/fx/trade_test3.py", line 44, in <module>
|
57
57
|
df['ema50_slope'] = make_ma_slope(df['ema50'], 1)
|
58
58
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
59
|
-
File "/Users/uta/Documents/code/fx/trade_test3.py", line 3
|
59
|
+
File "/Users/uta/Documents/code/fx/trade_test3.py", line 34, in make_ma_slope
|
60
60
|
ma_slope.append((ma[i] - ma[i - span]) / (i - (i - span)))
|
61
61
|
~~^^^^^^^^^^
|
62
62
|
File "/opt/homebrew/lib/python3.11/site-packages/pandas/core/series.py", line 1040, in __getitem__
|
2
あ
test
CHANGED
File without changes
|
test
CHANGED
@@ -112,6 +112,10 @@
|
|
112
112
|
|
113
113
|
# EMA50
|
114
114
|
df['ema50'] = make_ema(df['Close'], 50)
|
115
|
+
|
116
|
+
# 次でエラーが出るので一旦printしときます
|
117
|
+
print(df)
|
118
|
+
|
115
119
|
df['ema50_slope'] = make_ma_slope(df['ema50'], 1)
|
116
120
|
|
117
121
|
# チャート描画
|
1
あ
test
CHANGED
File without changes
|
test
CHANGED
@@ -10,24 +10,8 @@
|
|
10
10
|
|
11
11
|
・移動平均線の作成までは上手くいきましたが、傾きの算出がうまくいきません。その中の for文でエラーが出ている状態です。
|
12
12
|
|
13
|
+
・為替のDataFrameはGMOコインのAPIを利用して取得しています。
|
13
14
|
|
14
|
-
・下記では省略しましたが、為替のDataFrameはこちらをコピペで取得できます。
|
15
|
-
```python
|
16
|
-
import requests
|
17
|
-
import json
|
18
|
-
import pandas as pd
|
19
|
-
|
20
|
-
endPoint = 'https://forex-api.coin.z.com/public'
|
21
|
-
path = '/v1/klines?symbol=USD_JPY&priceType=ASK&interval=1min&date=20231127'
|
22
|
-
response = requests.get(endPoint + path)
|
23
|
-
|
24
|
-
df = pd.DataFrame(response.json()['data'])
|
25
|
-
df['openTime'] = pd.to_datetime(df['openTime'].astype(int), unit='ms')
|
26
|
-
df = df.set_axis(['Date time', *df.columns[1:].str.title()], axis=1)
|
27
|
-
|
28
|
-
pd.set_option('display.max_columns', 10)
|
29
|
-
print(df)
|
30
|
-
```
|
31
15
|
|
32
16
|
### 発生している問題・エラーメッセージ
|
33
17
|
|
@@ -96,7 +80,16 @@
|
|
96
80
|
import numpy as np
|
97
81
|
import matplotlib.pyplot as plt
|
98
82
|
|
99
|
-
# 為替のデータフレーム
|
83
|
+
# 為替のデータフレームを取得
|
84
|
+
endPoint = 'https://forex-api.coin.z.com/public'
|
85
|
+
path = '/v1/klines?symbol=USD_JPY&priceType=ASK&interval=1min&date=20231127'
|
86
|
+
response = requests.get(endPoint + path)
|
87
|
+
|
88
|
+
df = pd.DataFrame(response.json()['data'])
|
89
|
+
df['openTime'] = pd.to_datetime(df['openTime'].astype(int), unit='ms')
|
90
|
+
df = df.set_axis(['Date time', *df.columns[1:].str.title()], axis=1)
|
91
|
+
|
92
|
+
pd.set_option('display.max_columns', 10)
|
100
93
|
print(df)
|
101
94
|
|
102
95
|
# 単純移動平均線を作成
|