gjin10969
initialize
e97cf97
import json
import os
# Load YOLO detection data (from the given file)
yolo_file_path = '/media/gjin/New Volume/BACKTEST_DATA/black_edition_rolling_window_20_candlestick_5/json_data_folder/LINK_USDT_2024-12-02/LINK_USDT_17-27-55.json'
with open(yolo_file_path, 'r') as f:
yolo_data = json.load(f)
# Load Zscore signal data (from the given file)
zscore_file_path = '/home/gjin/Documents/zscore/signalsLINK.json'
with open(zscore_file_path, 'r') as f:
zscore_data = json.load(f)
# Define a function to update the YOLO trend based on zscore detection
def update_trend_with_zscore(yolo_data, zscore_data):
for yolo_entry in yolo_data:
symbol = yolo_entry['symbol']
date_and_time = yolo_entry['date_and_time']
# Normalize the symbol from zscore data (remove slash to match YOLO format)
normalized_symbol = symbol.replace('/', '') # Example: "ADA/USDT" becomes "ADAUSDT"
# Match the YOLO entry with the zscore entry by symbol and timestamp
zscore_entry = next((item for item in zscore_data if item['symbol'].replace('/', '') == normalized_symbol and item['date_and_time'] == date_and_time), None)
if zscore_entry:
# If zscore detection is True and trend is "no trend", keep it as "no trend"
if zscore_entry['detection'] == 'True':
# Do not modify the trend if already set
if yolo_entry['trend'] == "no trend":
# Only set zscore detection flag if trend is "no trend"
yolo_entry['zscore_detection'] = True
else:
# Keep existing trend, just add zscore detection flag
if 'zscore_detection' not in yolo_entry:
yolo_entry['zscore_detection'] = True
else:
# If zscore detection is False, set the trend to "no trend based on zscore detection"
yolo_entry['trend'] = "no trend based on zscore detection"
if 'zscore_detection' in yolo_entry:
del yolo_entry['zscore_detection']
else:
print(f"No zscore data found for {symbol} at {date_and_time}")
# Apply the function to update the YOLO data
update_trend_with_zscore(yolo_data, zscore_data)
# Define the output file path where the updated YOLO data will be saved
output_file_path = '/home/gjin/Documents/zscore/YOLO_WITH_ZSCORE/LINK_USDT_19-09-41_updated.json'
# Ensure the directory exists
os.makedirs(os.path.dirname(output_file_path), exist_ok=True)
# Save the updated YOLO data to the output file
with open(output_file_path, 'w') as f:
json.dump(yolo_data, f, indent=4)
print(f"Updated YOLO data has been saved to {output_file_path}")