Showing
1 changed file
with
102 additions
and
22 deletions
| ... | @@ -137,39 +137,119 @@ for i in range(len(Stock_data)): | ... | @@ -137,39 +137,119 @@ for i in range(len(Stock_data)): |
| 137 | del Stock_data[i][7] #시가 총액 삭제 | 137 | del Stock_data[i][7] #시가 총액 삭제 |
| 138 | for i in range(len(Stock_data)): | 138 | for i in range(len(Stock_data)): |
| 139 | del Stock_data[i][7] #상장주식 수 삭제 / 결과:'일자', '종가', '등락률', '시가', '고가', '저가', '거래량' | 139 | del Stock_data[i][7] #상장주식 수 삭제 / 결과:'일자', '종가', '등락률', '시가', '고가', '저가', '거래량' |
| 140 | -print(Stock_data) | 140 | +#print(Stock_data) |
| 141 | 141 | ||
| 142 | def Calpercentage(a,b): #시초가 대비 고점/저점 비율 | 142 | def Calpercentage(a,b): #시초가 대비 고점/저점 비율 |
| 143 | return abs(a-b)/a*100 | 143 | return abs(a-b)/a*100 |
| 144 | +####아래로 수정 필요 (미완성)#### | ||
| 144 | 145 | ||
| 146 | +i=0 | ||
| 147 | +for k in range(len(Setlist)): | ||
| 148 | + if( Stock_data[i][0].split('/') == Setlist[k][0].split('.')[:3]): # 날짜 비교 날짜가 같다면 | ||
| 149 | + if Calpercentage(Stock_data[i][3],Stock_data[i][4]) > 2 : #당일 시가 대비 고가가 2퍼 높을때 | ||
| 150 | + for j in range(1,len(Setlist[k])): | ||
| 151 | + if Setlist[k][j][1] == 0: | ||
| 152 | + Setlist[k][j][1] = 1 | ||
| 153 | + else: | ||
| 154 | + Setlist[0][j][1] += 1 | ||
| 155 | + elif Calpercentage(Stock_data[i][3],Stock_data[i][5]) < -2 : #당일 시가 대비 저가가 2퍼 낮을 때 | ||
| 156 | + for j in range(1,len(Setlist[k])): | ||
| 157 | + if Setlist[k][j][1] == 0: | ||
| 158 | + Setlist[k][j][1] = -1 | ||
| 159 | + else: | ||
| 160 | + Setlist[0][j][1] -= 1 | ||
| 161 | + else: | ||
| 162 | + if Stock_data[i+1][2] > 0: # 다음날 주가 등락률이 양수면 | ||
| 163 | + for j in range(1,len(Setlist[k])): #어제뉴스는 호재 취급 | ||
| 164 | + if Setlist[k][j][1] == 0: | ||
| 165 | + Setlist[k][j][1] = 1 | ||
| 166 | + else: | ||
| 167 | + Setlist[k][j][1] += 1 | ||
| 168 | + elif Stock_data[i+1][2] < 0: | ||
| 169 | + for j in range(1,len(Setlist[k])): # 음수면 어제 뉴스는 악재 취급 | ||
| 170 | + if Setlist[k][j][1] == 0: | ||
| 171 | + Setlist[k][j][1] = -1 | ||
| 172 | + else: | ||
| 173 | + Setlist[k][j][1] -= 1 | ||
| 174 | + i+=1 | ||
| 175 | + else: | ||
| 176 | + if Calpercentage(Stock_data[i][3], Stock_data[i][4]) > 2: # 당일 시가 대비 고가가 2퍼 높을때 | ||
| 177 | + for j in range(1, len(Setlist[k])): | ||
| 178 | + if Setlist[k][j][1] == 0: | ||
| 179 | + Setlist[k][j][1] = 1 | ||
| 180 | + else: | ||
| 181 | + Setlist[k][j][1] += 1 | ||
| 182 | + elif Calpercentage(Stock_data[i][3], Stock_data[i][5]) < -2: # 당일 시가 대비 저가가 2퍼 낮을 때 | ||
| 183 | + for j in range(1, len(Setlist[k])): | ||
| 184 | + if Setlist[k][j][1] == 0: | ||
| 185 | + Setlist[k][j][1] = -1 | ||
| 186 | + else: | ||
| 187 | + Setlist[k][j][1] -= 1 | ||
| 188 | + else: | ||
| 189 | + if Stock_data[i + 1][2] > 0: # 다음날 주가 등락률이 양수면 | ||
| 190 | + for j in range(1, len(Setlist[k])): # 어제뉴스는 호재 취급 | ||
| 191 | + if Setlist[k][j][1] == 0: | ||
| 192 | + Setlist[k][j][1] = 1 | ||
| 193 | + else: | ||
| 194 | + Setlist[k][j][1] += 1 | ||
| 195 | + elif Stock_data[i + 1][2] < 0: | ||
| 196 | + for j in range(1, len(Setlist[k])): # 음수면 어제 뉴스는 악재 취급 | ||
| 197 | + if Setlist[k][j][1] == 0: | ||
| 198 | + Setlist[k][j][1] = -1 | ||
| 199 | + else: | ||
| 200 | + Setlist[k][j][1] -= 1 | ||
| 201 | + i+=1 | ||
| 202 | + | ||
| 203 | +#print(Setlist) | ||
| 204 | +df_Setlist = pd.DataFrame(Setlist) | ||
| 205 | +df_Setlist.to_excel(Stockfilename+' KNU_New.xlsx',sheet_name='sheet1') | ||
| 206 | + | ||
| 207 | +''' | ||
| 145 | for i in range(len(Stock_data)-1): | 208 | for i in range(len(Stock_data)-1): |
| 146 | for k in range(len(Setlist)): | 209 | for k in range(len(Setlist)): |
| 147 | - if( Stock_data[i][0].split('/') == Setlist[k][0].split('.')[:3]): # 날짜 비교 | 210 | + if (Stock_data[i][0].split('/') == Setlist[k][0].split('.')[:3]): # 날짜 비교 |
| 148 | - if Calpercentage(Stock_data[i][3],Stock_data[i][4]) > 2 : #당일 시가 대비 고가가 2퍼 높을때 | 211 | + if Calpercentage(Stock_data[i][3], Stock_data[i][4]) > 2 : #당일 시가 대비 고가가 2퍼 높을때 |
| 149 | - for j in range(1,len(Setlist[k])): | 212 | + for j in range(1, len(Setlist[k])): |
| 150 | - if Setlist[0][j][1] == 0: | 213 | + if Setlist[k][j][1] == 0: |
| 151 | - Setlist[0][j][1] = 1 | 214 | + Setlist[k][j][1] = 1 |
| 152 | else: | 215 | else: |
| 153 | - Setlist[0][j][1] += 1 | 216 | + Setlist[k][j][1] += 1 |
| 154 | - elif Calpercentage(Stock_data[i][3],Stock_data[i][5]) < -2 : #당일 시가 대비 저가가 2퍼 낮을 때 | 217 | + elif Calpercentage(Stock_data[i][3], Stock_data[i][5]) < -2 : #당일 시가 대비 저가가 2퍼 낮을 때 |
| 155 | - for j in range(1,len(Setlist[k])): | 218 | + for j in range(1, len(Setlist[k])): |
| 156 | - if Setlist[0][j][1] == 0: | 219 | + if Setlist[k][j][1] == 0: |
| 157 | - Setlist[0][j][1] = -1 | 220 | + Setlist[k][j][1] = -1 |
| 158 | else: | 221 | else: |
| 159 | - Setlist[0][j][1] -= 1 | 222 | + Setlist[k][j][1] -= 1 |
| 160 | else: | 223 | else: |
| 161 | if Stock_data[i+1][2] > 0: # 다음날 주가 등락률이 양수면 | 224 | if Stock_data[i+1][2] > 0: # 다음날 주가 등락률이 양수면 |
| 162 | - for j in range(1,len(Setlist[k])): #어제뉴스는 호재 취급 | 225 | + for j in range(1, len(Setlist[k])): #어제뉴스는 호재 취급 |
| 163 | - if Setlist[0][j][1] == 0: | 226 | + if Calpercentage(Stock_data[i+1][3], Stock_data[i+1][5]) < -2 : |
| 164 | - Setlist[0][j][1] = 1 | 227 | + for j in range(1, len(Setlist[k])): |
| 228 | + if Setlist[k][j][1] == 0: | ||
| 229 | + Setlist[k][j][1] = -1 | ||
| 230 | + else: | ||
| 231 | + Setlist[k][j][1] -= 1 | ||
| 165 | else: | 232 | else: |
| 166 | - Setlist[0][j][1] += 1 | 233 | + if Setlist[k][j][1] == 0: |
| 234 | + Setlist[k][j][1] = 1 | ||
| 235 | + else: | ||
| 236 | + Setlist[k][j][1] += 1 | ||
| 167 | elif Stock_data[i+1][2] < 0: | 237 | elif Stock_data[i+1][2] < 0: |
| 168 | - for j in range(1,len(Setlist[k])): # 음수면 어제 뉴스는 악재 취급 | 238 | + if Calpercentage(Stock_data[i+1][3], Stock_data[i+1][4]) > 2 : |
| 169 | - if Setlist[0][j][1] == 0: | 239 | + for j in range(1, len(Setlist[k])): |
| 170 | - Setlist[0][j][1] = -1 | 240 | + if Setlist[k][j][1] == 0: |
| 171 | - else: | 241 | + Setlist[k][j][1] = 1 |
| 172 | - Setlist[0][j][1] -= 1 | 242 | + else: |
| 173 | -print(Setlist) | 243 | + Setlist[k][j][1] += 1 |
| 244 | + else: | ||
| 245 | + for j in range(1, len(Setlist[k])): # 음수면 어제 뉴스는 악재 취급 | ||
| 246 | + if Setlist[k][j][1] == 0: | ||
| 247 | + Setlist[k][j][1] = -1 | ||
| 248 | + else: | ||
| 249 | + Setlist[k][j][1] -= -1 | ||
| 250 | + else: | ||
| 251 | + | ||
| 174 | 252 | ||
| 253 | +print(Setlist) | ||
| 175 | 254 | ||
| 255 | +''' | ... | ... |
-
Please register or login to post a comment