import pandas as pd
import datetime
from FiinQuantX import FiinSession
from datetime import datetime
username = 'REPLACE_WITH_YOUR_USER_NAME'
password = 'REPLACE_WITH_YOUR_PASS_WORD'
client = FiinSession(
username=username,
password=password
).login()
def user_input():
default_timeframe = '1m'
default_t1 = "09:00:00" if datetime.now().hour < 12 else "13:00:00"
default_t2 = datetime.now().replace(microsecond=0).time().strftime("%H:%M:%S")
default_method = "pearson correlation"
default_year = 1
print("")
print("Chào mừng đến hệ thống dự báo biểu đồ CHỨNG KHOÁN theo THỜI GIAN THỰC của FIINQUANT")
print("")
print("Giải thích cách tìm top 5 ngày tương quan:")
print("")
print("- Tìm kiếm tất cả các pattern nến của tất cả các ngày trong vòng x năm kể từ thời điểm hiện tại")
print("- Tìm 5 ngày có độ tương quan với ngày hiện tại nhất dựa trên các phương pháp tùy người chọn: Euclidean Distance, Pearson Correlation (mặc định), cosine")
print("")
print("Hệ thống sẽ sử dụng các tham số mặc định sau:")
print(f"- Khung thời gian: {default_timeframe}")
print(f"- Thời điểm bắt đầu: {default_t1}")
print(f"- Thời điểm kết thúc (là thời điểm hiện tại): {default_t2}")
print(f"- Phương pháp tính tương quan: {default_method}")
print(f"- Số năm dữ liệu muốn quét kể từ thời điểm hiện tại: {default_year} năm")
use_default = input("Bạn có muốn sử dụng các tham số mặc định không? (y/n): ").lower() == "y"
if not use_default:
timeframe = input("Nhập khung thời gian (ví dụ: 1m, 15m, 30m, 1h mặc định: 1m): ") or default_timeframe
t1 = input("Nhập thời điểm bắt đầu (ví dụ: 09:00, 10:00, 11:00): ")
t2 = input("Nhập thời điểm kết thúc (ví dụ: 13:00, 14:00, 15:00): ")
print("Vui lòng lựa chọn phương pháp tính tương quan:")
print("1. Pearson Correlation (mặc định)")
print("2. Euclidean Distance")
print("3. Cosine")
print("4. Dynamic Time Wrapping")
method = int(input("Lựa chọn của bạn (1/2/3): ")) or 1
year = int(input("Nhập số năm dữ liệu muốn quét kể từ thời điểm hiện tại: ")) or 1
else:
timeframe = default_timeframe
t1 = default_t1
t2 = default_t2
method = default_method
year = default_year
Ticker = input("Vui lòng nhập mã bạn muốn so tìm đường tương quan (ví dụ: VN30, VN30F1M, ACB): ")
print("Đang tính toán, vui lòng đợi")
client.FindDateCorrelation().intraday_Correlation(Ticker=Ticker, Timeframe=timeframe, t1=t1, t2=t2, method=method, year=year)
# Chạy chương trình
if __name__ == "__main__":
user_input()