מחירי מניות בלחיצת כפתור – ישירות בגיליון האקסל שלכם
אנשי שוק ההון? הפוסט הזה בשבילכם.
תכירו את הנוסחה שמביאה ציטוטי מחירי מניות ישר אל תוך האקסל שלכם.
אם אתם אנליסטים בתחום שוק ההון, קרוב לוודאי שאתם צורכים כמות גדולה של נתוני ניירות ערך כחומר גלם. בפוסט זה אסביר כיצד ניתן להביא נתוני שערי מניות ישירות את גיליון האקסל שלכם. לצורך כך, תכירו את נוסחת StockQuote.
נוסחה זו מאפשרת לקבל נתוני ניירות ערך מהפורטל של Yahoo Finance. הנוסחה מקבלת כפרמטר את הטיקר של נייר הערך ותאריך מסוים, ומחזירה את שער הסגירה הרלוונטי. לפיכך, הנוסחה מאפשרת יצירת טבלאות דינמיות עבור מניות ותאריכים משתנים, המגיבות ומתעדכנות עם שינוי בקלט מהמשתמש.
להלן הסבר מפורט על אופן הפעלת הנוסחה:
1. יש לפתוח את קונסולת ה-VBA מתוך האקסל ע"י לחיצה של Alt+F11.
2. יש להוסיף מודול ע"י קליק ימני על כותרת הפרויקט -> הוספה (Insert) -> מודול (Module).
3. יש להדביק את הקוד הבא בחלון המודול שייפתח:
Function StockQuote(strTicker As String, Optional dtDate As Variant) ' Date is optional, current date is used if omitted ' If not date, throw error. If IsMissing(dtDate) Then dtDate = Date Else If Not (IsDate(dtDate)) Then StockQuote = CVErr(xlErrNum) End If End If Dim dtPrevDate As Date Dim strURL As String, strCSV As String, strRows() As String, strColumns() As String Dim dbClose As Double dtPrevDate = dtDate - 7 ' Request string for Yahoo strURL = "http://ichart.finance.yahoo.com/table.csv?s=" & strTicker & _ "&a=" & Month(dtPrevDate) - 1 & _ "&b=" & Day(dtPrevDate) & _ "&c=" & Year(dtPrevDate) & _ "&d=" & Month(dtDate) - 1 & _ "&e=" & Day(dtDate) & _ "&f=" & Year(dtDate) & _ "&g=d&ignore=.csv" ' Send request Set http = CreateObject("MSXML2.XMLHTTP") http.Open "GET", strURL, False http.Send strCSV = http.responseText ' Receive results: ' Most current data is in row 2, right under the title. Column 5 holds closing price data strRows() = Split(strCSV, Chr(10)) ' Split to rows strColumns = Split(strRows(1), ",") ' Split to columns dbClose = strColumns(4) ' Get 5th column (1st = 0) StockQuote = dbClose Set http = Nothing End Function
4. יש לשמור את האקסל בתבנית xlsm, המאפשרת הפעלה של מאקרו.
הערה: כדי שהנוסחה תפעל כנדרש, יש לאפשר הפעלת מאקרו עם פתיחת קובץ האקסל.
5. כעת ניתן להשתמש בנוסחת StockQuote כמו בכל נוסחת אקסל רגילה, כאשר הפרמטר הראשון מכיל את קוד הטיקר והשני מכיל את התאריך הרצוי:
=StockQuote("GOOG",DATEVALUE("01/01/2015"))
כמובן, אפשר לקשר את הקלט לתאים אחרים באופן דינמי:
פורסם במקור כאן: http://bit.ly/1xrssih
נוסחאות VBA נוספות ניתן למצוא כאן
יש לעיין בדיסקליימר
אתם מוזמנים להוריד את קובץ ההדגמה עם קוד מוכן ודוגמאות לשימוש.
בהצלחה!
אהבתם? נשמח אם תשתפו חברים ותשאירו פידבק בתגובות למטה. תודה!
צריך כזה בעברית . . . / של מניות ישראליות. . .
מעולה! תודה
בכיף! שמחנו לעזור
שאלת המשך,
ניסיתי לשלוף נתונים של חוזים עתידיים שקיימים ביאהו דרך החיבור אבל לא הצלחתי.
לדוג' רציתי לשלוף את הנתונים של החוזה העתידי על הS&P500 שקיים בYAHOO רק עם סיומת של שם הבורסה לדוג ESZ15.CME אבל אני לא מצליח לקבל שום נתון. (#VALUE)
(קישור לחוזה ביאהו – http://finance.yahoo.com/q?s=ESZ15.CME&ql=0)
יש לך רעיון כיצד לפתור את זה?
הי
יאהו לא מספקת נתונים היסטוריים עבור ני"ע מהסוג שציינת: http://finance.yahoo.com/q/hp?s=ESZ15.CME
יחד עם זאת, אתה יכול לקבל את הציטוט הנוכחי ללא בעיה, בעזרת שימוש בלינק שונה במסגרת ה-API, כפי שמתואר כאן
הי,
ברצוני למשוך נתוני אג"ח מסוים לדוג: אגח ג' של אלקטרה שמספרו 7390131 מאתר של ביזפורטל
http://www.bizportal.co.il/bonds/quote/bondsdata/7390131
כפי שניתן לראות הכתובת הינה גנרית כאשר רק המספר בסוף משתנה בהתאם למספר ני"ע של האג"ח.
הנתונים שהייתי רוצה למשוך מהדף הם מח"מ, שיעור ריבית, ברוטו להחזקה וכד'
אשמח לשמוע דעתך
בתודה מראש.
שלום
קיימים כלים ייעודיים למשיכת מידע מסוג זה (חלקם בתשלום).
אתה יכול לנסות שיטה אחרת: נתונים -> יבוא מ-WEB
בהצלחה.
שלום
ניסתי להשתמש בנוסחה הזאת, אבל משום מה אני מקבל שגיאה value האם ידוע למה?
היי אני מנסה לעשות את זה בגוגל דרייב וזה לא נותן לי לעשות ALT+F11
איך עושים את זה בדרייב?
תודה