-1
Date Open Close Buying Selling Cut_Off_Price
2009.11.11 4.805 4.43 0 0 0
2009.11.12 4.51 4.505 0 0 0
2009.11.13 4.545 4.765 1 0 3.812
2009.11.16 4.78 4.76 0 0 0
2009.11.17 4.755 4.605 0 0 0
2009.11.18 4.56 4.495 0 0 0
2009.11.19 4.495 4.535 1 0 3.628
2009.11.20 4.535 4.63 0 0 0
2009.11.23 4.7 4.67 0 0 0
2009.11.24 4.74 4.91 0 0 0
2009.11.25 4.97 4.87 0 0 0
2009.11.26 4.93 4.97 0 0 0
2009.11.27 5 4.94 0 0 0
2009.11.30 4.865 4.86 0 0 0
2009.12.1 4.83 3.855 0 0 0
2009.12.2 4.89 4.89 0 0 0
2009.12.3 4.85 4.71 0 0 0
2009.12.4 4.78 4.76 0 0 0
2009.12.7 3.225 3.565 0 0 0
2009.12.8 3.6 3.705 0 0 0
2009.12.9 3.76 3.575 0 0 0
2009.12.10 3.575 3.79 0 0 0
2009.12.11 3.84 3.84 0 0 0
2009.12.14 3.85 3.81 0 0 0
2009.12.15 3.84 3.985 0 0 0
2009.12.16 3.985 4.1 0 0 0
2009.12.17 4.105 4.165 0 0 0
2009.12.18 4.22 4.15 0 0 0
2009.12.21 4.145 4.5 0 0 0
2009.12.22 4.55 4.76 0 0 0
2009.12.23 4.705 4.72 0 0 0
2009.12.24 4.9 4.78 0 0 0
- データは株価であり、私はCut_Off_Priceは、価格を購入するいくつかの割合を計算している、売買シグナルを作ったデータフレーム。 時が経つにつれ、価格の最初の日が価格を下回っていれば、私は売り切れの信号を作りたいと思っています。および販売日。
私の欲求の結果は以下のは、実行中の時間をredueceする方法、パンダは
Date Open Close Buying Selling Cut_Off_Price Cut_Off_Signal Sell_Out Sell_Out_Date
2009.11.11 4.805 4.43 0 0 0 0 0 0
2009.11.12 4.510 4.505 0 0 0 0 0 0
2009.11.13 4.545 4.765 1 0 3.812 0 1 2009.12.1
2009.11.16 4.780 4.760 0 0 0 0 0 0
2009.11.17 4.755 4.605 0 0 0 0 0 0
2009.11.18 4.560 4.495 0 0 0 0 0 0
2009.11.19 4.495 4.535 1 0 3.628 0 1 2009.12.7
2009.11.20 4.535 4.630 0 0 0 0 0 0
2009.11.23 4.700 4.670 0 0 0 0 0 0
2009.11.24 4.740 4.910 0 0 0 0 0 0
2009.11.25 4.970 4.870 0 0 0 0 0 0
2009.11.26 4.930 4.970 0 0 0 0 0 0
2009.11.27 5.000 4.940 0 0 0 0 0 0
2009.11.30 4.865 4.860 0 0 0 0 0 0
2009.12.1 4.830 3.855 0 0 0 1 0 0
2009.12.2 4.890 4.890 0 0 0 0 0 0
2009.12.3 4.850 4.710 0 0 0 0 0 0
2009.12.4 4.780 4.760 0 0 0 0 0 0
2009.12.7 3.225 3.565 0 0 0 1 0 0
2009.12.8 3.600 3.705 0 0 0 0 0 0
2009.12.9 3.760 3.575 0 0 0 0 0 0
2009.12.10 3.575 3.790 0 0 0 0 0 0
2009.12.11 3.840 3.840 0 0 0 0 0 0
2009.12.14 3.850 3.810 0 0 0 0 0 0
2009.12.15 3.840 3.985 0 0 0 0 0 0
2009.12.16 3.985 4.100 0 0 0 0 0 0
2009.12.17 4.105 4.165 0 0 0 0 0 0
2009.12.18 4.220 4.150 0 0 0 0 0 0
2009.12.21 4.145 4.500 0 0 0 0 0 0
2009.12.22 4.550 4.760 0 0 0 0 0 0
2009.12.23 4.705 4.720 0 0 0 0 0 0
2009.12.24 4.900 4.780 0 0 0 0 0 0
私のコードは
buying_list = data[data['Buying']==True]
data['Cut_Off_Signal']=False
def trading(data):
for idd in range(len(data.index)):
for ids in range(len(buying_list.index)):
if data.index[idd]>buying_list.index[ids]:
data['Cut_Off_Signal'][idd] = np.where(buying_list['Cut_Off_Price'][ids]>data['Close'][idd],True,False)
data[buying_list.index[ids],'Sell_Out_Signal'] = np.where(data['Cut_Off_Signal'][idd]== True,True,False)
#data.loc[buying_list.index[ids],'Sell_Out_Signal']=True
else:
continue
を、以下の通りですと、私が必要なものを動作していないされ、それはあまりにも多くの時間を要しました。 (合計行あり970、および総buying_list行は37ですが、それは5分の周りにかかりました。 私は(私は初心者です^^ ;;) を私はあなたのアドバイスに感謝!