joaco7172 commited on
Commit
f3072a6
Β·
verified Β·
1 Parent(s): 0ba1bf5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +6 -6
app.py CHANGED
@@ -101,7 +101,6 @@ def get_news(symbol, data):
101
  for end_date, row in data.iterrows():
102
  start_date = row['Start Date'].strftime('%Y-%m-%d')
103
  end_date = row['End Date'].strftime('%Y-%m-%d')
104
- # print(symbol, ': ', start_date, ' - ', end_date)
105
  time.sleep(1) # control qpm
106
  weekly_news = finnhub_client.company_news(symbol, _from=start_date, to=end_date)
107
  if len(weekly_news) == 0:
@@ -114,7 +113,7 @@ def get_news(symbol, data):
114
  } for n in weekly_news
115
  ]
116
  weekly_news.sort(key=lambda x: x['date'])
117
- news_list.append(json.dumps(weekly_news))
118
 
119
  data['News'] = news_list
120
 
@@ -163,7 +162,7 @@ def sample_news(news, k=5):
163
  return [news[i] for i in sorted(random.sample(range(len(news)), k))]
164
 
165
 
166
- def latest_news(news, k=10):
167
  # Sort news by date in descending order and select the latest k items
168
  sorted_news = sorted(news, key=lambda x: x['date'], reverse=True)
169
  return sorted_news[:k]
@@ -201,17 +200,18 @@ def get_all_prompts_online(symbol, data, curday, with_basics=True):
201
 
202
  for row_idx, row in data.iterrows():
203
  head, news, _ = get_prompt_by_row(symbol, row)
 
204
  prev_rows.append((head, news, None))
205
 
206
  prompt = ""
207
  for i in range(-len(prev_rows), 0):
208
  prompt += "\n" + prev_rows[i][0]
209
- sampled_news = latest_news(
210
  prev_rows[i][1],
211
  min(5, len(prev_rows[i][1]))
212
  )
213
- if sampled_news:
214
- prompt += "\n".join(sampled_news)
215
  else:
216
  prompt += "No relative news reported."
217
 
 
101
  for end_date, row in data.iterrows():
102
  start_date = row['Start Date'].strftime('%Y-%m-%d')
103
  end_date = row['End Date'].strftime('%Y-%m-%d')
 
104
  time.sleep(1) # control qpm
105
  weekly_news = finnhub_client.company_news(symbol, _from=start_date, to=end_date)
106
  if len(weekly_news) == 0:
 
113
  } for n in weekly_news
114
  ]
115
  weekly_news.sort(key=lambda x: x['date'])
116
+ news_list.append(weekly_news)
117
 
118
  data['News'] = news_list
119
 
 
162
  return [news[i] for i in sorted(random.sample(range(len(news)), k))]
163
 
164
 
165
+ def latest_news(news, k=5):
166
  # Sort news by date in descending order and select the latest k items
167
  sorted_news = sorted(news, key=lambda x: x['date'], reverse=True)
168
  return sorted_news[:k]
 
200
 
201
  for row_idx, row in data.iterrows():
202
  head, news, _ = get_prompt_by_row(symbol, row)
203
+ news = json.loads(news) # Ensure news is parsed as list of dictionaries
204
  prev_rows.append((head, news, None))
205
 
206
  prompt = ""
207
  for i in range(-len(prev_rows), 0):
208
  prompt += "\n" + prev_rows[i][0]
209
+ latest_news_items = latest_news(
210
  prev_rows[i][1],
211
  min(5, len(prev_rows[i][1]))
212
  )
213
+ if latest_news_items:
214
+ prompt += "\n".join(latest_news_items)
215
  else:
216
  prompt += "No relative news reported."
217