इस ट्यूटोरियल में, हमें कई पायथन पुस्तकालयों को जोड़कर और Google Colab पर एक उन्नत वित्तीय डेटा रिपोर्टिंग टूल बनाकर निर्देशित किया जाएगा। आप सीखेंगे कि वेब पेजों से लाइव वित्तीय डेटा को कैसे स्क्रैप करें, Yfinance का उपयोग करके इतिहास को कैसे स्क्रैप करें, और Metplotlib के साथ रुझानों की कल्पना करें। इसके अलावा, ट्यूटोरियल दिखाता है कि ipyvidgates का उपयोग करके इंटरैक्टिव UI को कैसे एकीकृत किया जाए, FPDF के साथ उत्पादित एक गतिशील PDF रिपोर्ट में समाप्त होता है।
!pip install fpdf beautifulsoup4 yfinance ipywidgets
सबसे पहले, हम उन पुस्तकालयों को स्थापित करते हैं जो हमें अपनी परियोजना के लिए चाहिए: PDF रिपोर्ट बनाने के लिए FPDF, वेब स्क्रैपिंग के लिए सुंदरसअप 4, ऐतिहासिक तीव्र वित्तीय डेटा, और नोटबुक में इंटरैक्टिव यूआई तत्व बनाने के लिए ipyvigates।
import requests
from bs4 import BeautifulSoup
from fpdf import FPDF
import yfinance as yf
import matplotlib.pyplot as plt
import ipywidgets as widgets
from IPython.display import display, FileLink
यहां, हम एक व्यापक वित्तीय डेटा उपकरण बनाने के लिए विभिन्न पुस्तकालयों का आयात करते हैं।
def generate_report(b):
symbol = symbol_text.value.upper().strip()
start_date = start_date_picker.value
end_date = end_date_picker.value
output_area.clear_output() # Clear previous outputs
if not (symbol and start_date and end_date):
with output_area:
print("Please provide valid inputs for stock symbol and both dates.")
return
with output_area:
print(f"Generating report for {symbol} from {start_date} to {end_date}...")
# 1. Retrieve current price using yfinance
try:
stock = yf.Ticker(symbol)
current_price = stock.info.get('regularMarketPrice', 'N/A')
except Exception as e:
current_price = "Error retrieving price"
with output_area:
print("Error retrieving current price:", e)
# 2. Fetch historical data using yfinance
try:
hist = stock.history(start=start_date, end=end_date)
except Exception as e:
hist = None
with output_area:
print("Error fetching historical data:", e)
# 3. Plot historical closing prices
if hist is not None and not hist.empty:
plt.figure(figsize=(10, 5))
plt.plot(hist.index, hist('Close'), marker="o", linestyle="-", label="Close Price")
plt.title(f"{symbol} Historical Closing Prices")
plt.xlabel("Date")
plt.ylabel("Close Price (USD)")
plt.grid(True)
plt.xticks(rotation=45)
plt.tight_layout()
graph_filename = "graph.png"
plt.savefig(graph_filename)
plt.show()
else:
graph_filename = None
with output_area:
print("No historical data available for the selected date range.")
# 4. Create a PDF report using FPDF
pdf = FPDF()
pdf.add_page()
pdf.set_font("Arial", "B", 16)
pdf.cell(0, 10, f"Financial Report for {symbol}", ln=True, align="C")
pdf.ln(10)
pdf.set_font("Arial", size=12)
pdf.cell(0, 10, f"Current Price: {current_price}", ln=True)
pdf.cell(0, 10, f"Date Range: {start_date} to {end_date}", ln=True)
pdf.ln(10)
if graph_filename:
pdf.cell(0, 10, "Historical Closing Prices:", ln=True)
# Adjust the image width to fit the page layout
pdf.image(graph_filename, w=180)
pdf_filename = "financial_report.pdf"
pdf.output(pdf_filename)
# 5. Display the download link for the PDF report
with output_area:
print(f"PDF Report generated: {pdf_filename}")
display(FileLink(pdf_filename))
ऊपर दिए गए काम के साथ, हम स्टॉक प्रतीक और दिनांक सीमा के लिए उपयोगकर्ता इनपुट प्राप्त करते हैं, फिर याहू फाइनेंस से वर्तमान वित्तीय डेटा को स्क्रैप करते हैं जबकि yfinance इतिहास द्वारा इतिहास प्राप्त करता है। यह Metplotlib का उपयोग करके ऐतिहासिक खोपड़ी मूल्य मूल्यों को प्लॉट करता है, एक पीडीएफ रिपोर्ट बनाता है जो स्क्रैप किए गए डेटा और FPDF का उपयोग करके ग्राफ को एम्बेड करता है, और अंततः पीडीएफ रिपोर्ट के लिए एक डाउनलोड लिंक दिखाता है।
# Create UI widgets
symbol_text = widgets.Text(
value="AAPL",
description="Stock Symbol:",
placeholder="e.g., AAPL"
)
start_date_picker = widgets.DatePicker(
description='Start Date'
)
end_date_picker = widgets.DatePicker(
description='End Date'
)
generate_button = widgets.Button(
description="Generate Report",
button_style="success"
)
output_area = widgets.Output()
generate_button.on_click(generate_report)
display(widgets.VBox((symbol_text, start_date_picker, end_date_picker, generate_button, output_area)))
अंत में, यह कोड ब्लॉक iPaywiggates का उपयोग करके एक इंटरैक्टिव उपयोगकर्ता इंटरफ़ेस सेट करता है। यह स्टॉक प्रतीक के लिए इनपुट फ़ील्ड को ट्रिगर करने के लिए एक बटन बनाता है, समय सीमा और रिपोर्ट पीढ़ी के लिए प्रारंभ और तिथि। UI तत्वों के बाद VIBOX लेआउट का उपयोग करके वर्ट को व्यापक तरीके से व्यवस्थित किया जाता है, और फीडबैक प्रदर्शित करने और पीडीएफ डाउनलोड लिंक उत्पन्न करने के लिए आउटपुट फ़ील्ड प्रदान किया जाता है।
आउटपुट और पीडीएफ नमूना
अंत में, इस ट्यूटोरियल के बाद, आपने Google Colab नोटबुक में वेब स्क्रैपिंग, डेटा विश्लेषण, इंटरैक्टिव UI डिज़ाइन और PDF रिपोर्ट पीढ़ी को सफलतापूर्वक एकीकृत किया है। यह चरण-दर-चरण प्रक्रिया बताती है कि एक मजबूत, उपयोगकर्ता के अनुकूल वित्तीय डेटा टूल बनाने के लिए पायथन के विभिन्न पुस्तकालयों की शक्ति का उपयोग कैसे करें।
यहाँ है कोटिनी नोटबुक उपरोक्त परियोजना के लिए। इसके अलावा, हमें फॉलो करना न भूलें ट्विटर और हमसे जुड़ें टेलीग्राफिक मीडिया और लिंक्डइन जी.आर.सिर हिलाकर सहमति देना। हमसे जुड़ने के लिए मत भूलना 80K+ एमएल सबमिटेड।
। अनुशंसित रीडिंग- एलजी एआई रिसर्च नेक्सस प्रकाशित करता है: एक उन्नत प्रणाली एआई एजेंट एआई सिस्टम और डेटा अनुपालन मानकों को एक एआई डेटासेट में कानूनी चिंताओं को खत्म करने के लिए

ASIF Razzaq एक दूरदर्शी उद्यमी और इंजीनियर के रूप में मार्केटएकपोस्ट मीडिया इंक के सीईओ हैं, ASIF सामाजिक अच्छे के लिए कृत्रिम बुद्धिमत्ता की संभावना को बढ़ाने के लिए प्रतिबद्ध है। उनका सबसे हालिया प्रयास आर्टिफिशियल इंटेलिजेंस मीडिया प्लेटफॉर्म, मार्कटेकपोस्ट का उद्घाटन है, जो मशीन लर्निंग की गहराई के लिए और कवरेज की गहराई के लिए गहरी सीखने की खबर के लिए है। यह तकनीकी रूप से ध्वनि है और एक बड़े दर्शकों द्वारा आसानी से समझ में आता है। प्लेटफ़ॉर्म में 2 मिलियन से अधिक मासिक दृश्य हैं, जो दर्शकों के बीच अपनी लोकप्रियता दिखाते हैं।
🚨 अनुशंसित ओपन-सीरस एआई प्लेटफॉर्म: ‘इंटेलिजेंट एक ओपन सोर्स मल्टी-एजेंट फ्रेमवर्क है जो कॉम्प्लेक्स वार्तालाप एआई सिस्टम का मूल्यांकन करता है’ (ईडी)