signals
は、売買シグナルを保存するパンダのデータフレームです。 getbuySignal
機能を使用すると、買い信号が生成された日付を取得し、これらの日付をvector_buy
配列に格納することができます。その後、get_close
機能を使用して、それぞれの「購入日」の前に20日間の(sh600004
データフレームから)近い価格を入手し、vector_close
に保存したいと考えています。インデックスなしのパンダデータフレーム出力が得られません
vector_close
を印刷して、自分のコードが正しいかどうかを確認しました。しかし、私は非常に奇妙な結果を得ました。 get_close
関数のif i<20
部分の出力は、配列にはclose prices
のみが含まれています。しかし、else
部分の出力にはclose prince
とdatetime index
の両方が含まれています。下の写真に示されているように。
vector_buy = []
vector_close = []
def get_buySignal():
list_buy = []
for i in range(0, len(signals.index)):
global vector_buy
if signals['positions'][i]==1.0:
list_buy.append(i)
vector_buy = np.array(list_buy)
def get_close():
close_list = []
for i in vector_buy:
global vector_close
if i < 20:
close_list.append(sh600004['close'][range(0,i)])
vector_close = np.array(close_list)
print vector_close
else:
close_list.append(sh600004['close'][range(i-19,i)])
vector_close = np.array(close_list)
print vector_close
get_buySignals()
get_close()
ここbuy_vector
array([ 10, 37, 47, 57, 82, 94, 102, 148, 165, 179, 188,
201, 248, 260, 270, 272, 290, 299, 331, 350, 361, 373,
409, 417, 435, 449, 457, 465, 491, 511, 527, 536, 555,
571, 592, 609, 634, 661, 672, 706, 718, 735, 776, 794,
807, 838, 854, 870, 890, 907, 915, 934, 969, 1004, 1013,
1020, 1032, 1034, 1039, 1050, 1099, 1116, 1140, 1157, 1202, 1214,
1228, 1238, 1257, 1276, 1297, 1311, 1319, 1347, 1376, 1379, 1389,
1406, 1425, 1455, 1460, 1478, 1492, 1518, 1533, 1545, 1559, 1574,
1590, 1615, 1627, 1657, 1683, 1692, 1704, 1731, 1742, 1758, 1775,
1795, 1824, 1836, 1852, 1864, 1905, 1913, 1950, 1966, 1986, 1999,
2005, 2020, 2046, 2079, 2088, 2108, 2113, 2124, 2145, 2154, 2166,
2178, 2218, 2234, 2244, 2251, 2302, 2309, 2311, 2324, 2339, 2351,
2372, 2387, 2397, 2408, 2422, 2446, 2462])
これが終了されます問題が何であるかは不明です。スクリーンショットは正確に何を示していますか?少なくとも2つのものが印刷されているようです。何が起こると思いますか?あなたのコードとそれが何を意味するのかについての説明も整列していないようですが、一度実際の問題が何であるか把握すると助けになります。 –
最初の印刷出力は 'if i <20'から' vector_close'を印刷したときのものです。 2番目の出力は、 'get_close'関数の' else'部分からの出力です。私は出力の日時インデックスを取り除きたい。 – Kann7
2つのものを印刷する方法を示すためにコードを更新できますか?現在、ループ内にprintステートメントが1つしかありません。 –