Привет всем коллегам,
, так что я делаю в своем проекте через API. Я обращаюсь к цене 10 скриптов и отправляю эти тиковые данные на mysql. Начиная с mysql я получаю данные обратно для расчета или использования повторной выборки цены акций в формате OHL C, далее следует код для использования функции повторной выборки:
def data_from_sql(): # fetch all query
try:
db = pymysql.connect(host, user, password, database)
cursor = db.cursor()
sql_query_2 = "SELECT * FROM tick_data.ticks WHERE date >= NOW() - INTERVAL 5 MINUTE"
cursor.execute(sql_query_2)
records = cursor.fetchall()
cursor.close()
print("Total rows are: ", len(records))
df = pd.DataFrame(records, columns=['token', 'last_price', 'time']).set_index('time')
ohlc = df.groupby('token').resample('5min')['last_price'].ohlc()
excel_details(ohlc) # send the data to other function for updating my excel sheet.
except pymysql.Error as error:
print("Failed to read data from table", error)
data_from_sql()
while True:
data_from_sql() # for infinite loop
Хорошо, теперь Вывод приведенного выше кода:
Теперь мне нужно: для каждого номера токена мне нужна цена «закрытия» предыдущего таймфрейма, т.е. за 5 минут до текущего таймфрейма, например, для токена с номером «5633» мне нужна цена «закрытия» в 2020-03-12 14:15:00, а не 2020-03-12 14:20:00, начиная с «2020- 03-12 14:20:00 "Свеча или время не закрыты, и я хотел бы обновить свой лист Excel для того же.
Так что для приведенного выше результата я кодирую как:
new_close = ohlc.iloc[-2]['close']
print(new_close)
И для этого я получаю close_price только моего последнего токена нет "3861249":
# вывод:
292.05
Но мне нужна close_price всего числа токенов, поэтому, пожалуйста, помогите мне узнать, как получить желаемый результат.
А также, если возможно, кто-нибудь может сказать мне, как улучшить перфорацию Что из моего кода? :)