|
Image Recognition
|
bet | 35/182 | Sana | 19.05.2024 | Hajmi | 5,69 Mb. | | #244351 |
Bog'liq Python sun\'iy intellekt texnologiyasi Dasrlik 2024Yuqori tezlik. Tercihen hech qanday cheklovlar yo‘q, lekin daqiqada 500 dan ortiq so‘rovni bajarish etarli.
Haqiqiy vaqtda ma’lumotlar. Ba’zi API-lar ma’lumotlarni biroz kechikish bilan ta’minlaydi, masalan, 15 daqiqa. Men aksiyalar narxlari iloji boricha joriy narxlarga yaqin bo‘lishini xohlayman.
Foydalanish qulayligi. Bu g’oyaning sinovi, shuning uchun men eng oddiy echimni xohlayman.
Avval kutubxonani o‘rnatish kerak:
$ pip install yfinance –user
Ob’ekt orqali ma’lumotlarga kirishingiz mumkin Ticker:
import yfinance as yf
google = yf.Ticker(“GOOG”)
Bu juda tez usul (o‘rtacha 0,005 soniyadan bir oz ko‘proq vaqtni oladi) va aktsiya haqida TON ma’lumotni qaytaradi. Masalan, google.info 123 ta maydonni o‘z ichiga oladi, jumladan:
52WeekChange: 0.3531152
SandP52WeekChange: 0.17859101
address1: 1600 Amphitheatre Parkway
algorithm: None
annualHoldingsTurnover: None
annualReportExpenseRatio: None
ask: 1815
askSize: 1100
twoHundredDayAverage: 1553.0764
volume: 1320946
volume24Hr: None
volumeAllCurrencies: None
website: http://www.abc.xyz
yield: None
ytdReturn: None
zip: 94043
Dividends, splits, balance_sheet, earnings va boshqalar usullari yordamida yanada ko‘proq ma’lumotlarni olish mumkin. Ularning aksariyati ma’lumotlarni pandas DataFrame ob’ekti sifatida qaytaradi, shuning uchun bizga kerak bo‘lgan hamma narsani olish uchun biroz harakat qilishimiz kerak.
Vaqt o‘tishi bilan aktsiya baholarining o‘zgarishi haqida ma’lumotga muhtoj ekanman, buning uchun eng yaxshi usul history. Biz intervalning davri yoki sanasini, shuningdek, bir daqiqagacha ma’lumot olish chastotasini tanlashimiz mumkin.
Shuni esda tutingki, agar siz 60 kundan kamroq muddatni belgilasangiz, kunlik vaqtga asoslangan ma’lumotlar mavjud bo‘lib, bir so‘rovda atigi yetti kunlik qisqa ma’lumotlarni olish mumkin. Oxirgi yozuvning bir daqiqalik oraliqda ko‘chirilgan ma’lumotlari:
df = google.history(period='1d', interval="1m")print(df.head())
3.1.1-rasm. Datetime natijasi
Ularning sana va vaqt bo‘yicha qanday indekslanganligini ko‘rishingiz mumkin. Bundan tashqari, har bir rekord ettita xususiyatga ega: ushbu daqiqa uchun aktsiya narxining to‘rtta qiymati (ochilish, maksimal, minimal, yopilish), shuningdek hajm, dividendlar va aktsiyalarning bo‘linishi. Men faqat “minimal” xususiyatdan foydalanaman. Keling, kerakli ma’lumotlarni to‘playmiz:
df = google.history(period='1d', interval="1m")
df = df[['Low']]
df.head()
3.1.2.a-rasm Low natijasi
Bu faqat oxirgi kun ma’lumotlaridan foydalanayotganimiz sababli, DataFrame-ni sana va vaqt mintaqasini olib tashlash uchun indekslaymiz, faqat vaqtni qoldiramiz.
df['date’] = pd.to_datetime(df.index).time
df.set_index('date’, inplace=True)
df.head()
3.1.2.b-rasm Low natijasi
Birozdan keyin biz ularni algoritmimizga o‘tkazamiz. Lekin birinchi navbatda siz bu haqda qaror qabul qilishingiz kerak, shuning uchun keyingi bosqichga o‘tamiz.
|
| |