בדיקה חוזרת של אסטרטגיות מסחר עם Amazon Kinesis Data Streams שימור לטווח ארוך ו-Amazon SageMaker

צומת המקור: 1883045

תובנה בזמן אמת היא קריטית בכל הנוגע לבניית אסטרטגיות מסחר. כל עיכוב בהבנת הנתונים יכול לעלות הרבה כסף לסוחרים. לעתים קרובות, אתה צריך להסתכל על מגמות היסטוריות בשוק כדי לחזות דפוס מסחר עתידי ולהציע את ההצעה הנכונה. יותר את הנתונים ההיסטוריים שאתה מנתח, תחזית מסחר טובה יותר שאתה מקבל. מעקב אחר נתוני סטרימינג יכול להיות מסובך מכיוון שהוא דורש מנגנוני אחסון וניתוח מתוחכמים.

זרמי נתונים של אמזון קינסי מאפשר ללקוח שלנו לאחסן נתוני סטרימינג עד שנה אחת. אמזון Kinesis Data זרם שמירה לטווח ארוך (LTR) של נתונים זורמים מאפשרת להשתמש באותה פלטפורמה הן עבור נתונים בזמן אמת והן עבור נתונים ישנים יותר שנשמרו בזרמי נתונים של אמזון Kinesis. לדוגמה, אפשר לאמן אלגוריתמים של למידת מכונה למסחר פיננסי, התאמה אישית של שיווק ומודלים של המלצות מבלי להעביר את הנתונים למאגר נתונים אחר או לכתוב אפליקציה חדשה. לקוחות יכולים גם לעמוד בתקנות שמירת נתונים מסוימות, כולל תחת HIPAA ו-FedRAMP, תוך שימוש בשמירה לטווח ארוך. זה מפשט את ארכיטקטורת קליטת הנתונים עבור מקרה השימוש המסחרי שלנו עליו נדון בפוסט זה.

בפוסט בניית אסטרטגיות מסחר אלגוריתמיות עם Amazon SageMaker, הדגמנו כיצד לבדוק אסטרטגיות מסחר באמצעותן אמזון SageMaker עם נתוני מחירי מניה היסטוריים המאוחסנים ב שירות אחסון פשוט של אמזון (אמזון S3). בפוסט זה, אנו מרחיבים פתרון זה להזרמת נתונים ומתארים כיצד להשתמש אמזון קינסי.

בנוסף, אנחנו רוצים להשתמש אמזון SageMaker כוונון אוטומטי כדי למצוא את התצורה האופטימלית עבור אסטרטגיית הצלבה של ממוצע נע. באסטרטגיה זו, מחושבים שני ממוצעים נעים לפרק זמן איטי ומהיר, ועסקה מבוצעת כאשר מתרחשת הצלבה. אם הממוצע הנע במהירות חוצה מעל הממוצע הנע באיטיות, האסטרטגיה מבצעת מסחר ארוך, אחרת האסטרטגיה הולכת בשורט. אנו מוצאים את אורך התקופה האופטימלי עבור ממוצעים נעים אלה על ידי הפעלת בדיקות אחוריות מרובות באורכים שונים על פני מערך נתונים היסטורי.

לבסוף, אנו מריצים את התצורה האופטימלית עבור אסטרטגיית הצלבה זו של ממוצע נע על פני מערך נתונים אחר של בדיקה ומנתחים את תוצאות הביצועים. אם הביצועים הנמדדים ברווח והפסד (P&L) חיוביים לתקופת המבחן, נוכל לשקול אסטרטגיית מסחר זו למבחן קדימה.

כדי להראות לך כמה קל ומהיר להתחיל ב-AWS, אנו מספקים פריסה בלחיצה אחת לפתרון בדיקות אחורי למסחר הניתן להרחבה המשתמש בשמירה לטווח ארוך של Kinesis עבור הזרמת נתונים.

סקירת פתרונות

אנו משתמשים ב-Kinesis Data Streams כדי לאחסן סטרימינג בזמן אמת כמו גם נתוני שוק היסטוריים. אנו משתמשים במחברות Jupyter כממשק המרכזי שלנו לחקירה ובדיקה לאחור של אסטרטגיות מסחר חדשות. SageMaker מאפשר לך להגדיר מחברות Jupyter ולשלב אותן איתן AWS CodeCommit לאחסן גרסאות שונות של אסטרטגיות ולשתף אותן עם חברי צוות אחרים.

אנו משתמשים ב-Amazon S3 כדי לאחסן חפצי מודל ותוצאות של בדיקות אחוריות.

עבור אסטרטגיות המסחר שלנו, אנו יוצרים קונטיינרים של Docker המכילים את הספריות הנדרשות ל-backtesting ואת האסטרטגיה עצמה. מכולות אלו עוקבות אחר מבנה המכולות של SageMaker Docker על מנת להפעיל אותם בתוך SageMaker. למידע נוסף על המבנה של מכולות SageMaker, ראה שימוש בערכות הכלים להדרכה והסקת SageMaker.

התרשים הבא ממחיש ארכיטקטורה זו.

אנו מפעילים את שלב הכנת הנתונים ממחברת SageMaker. זה מעתיק את נתוני השוק ההיסטוריים לדלי S3.

אנו משתמשים שירות העברת נתונים של AWS (AWS DMS) לטעינת נתוני השוק לזרם הנתונים. ה

מחברת SageMaker מתחברת ל- Kinesis Data Streams ומריצה את אלגוריתם אסטרטגיית המסחר באמצעות עבודת אימון של SageMaker. האלגוריתם משתמש בחלק מהנתונים לצורך אימון כדי למצוא את תצורת האסטרטגיה האופטימלית.

לבסוף, אנו מפעילים את אסטרטגיית המסחר באמצעות התצורה שנקבעה קודם לכן על מערך נתונים לבדיקה.

תנאים מוקדמים

לפני שמתחילים, הגדרנו את המשאבים שלנו. בפוסט זה, אנו משתמשים ב- us-east-2 אזור כדוגמה.

  1. פרוס את משאבי ה-AWS באמצעות הקובץ שסופק AWS CloudFormation תבנית.
  2. בעד שם ערימה, הזן שם לערימה שלך.
  3. ספק שם דלי S3 קיים כדי לאחסן את נתוני השוק ההיסטוריים.

הנתונים נטענים ב-Kinesis Data Streams מדלי S3 זה. הדלי שלך צריך להיות באותו אזור שבו הערימה שלך מוגדרת.

  1. קבל את כל ברירות המחדל ובחר הַבָּא.
  2. יש להכיר בכך ש-AWS CloudFormation עשוי ליצור AWS זהות וניהול גישה משאבים (IAM) עם שמות מותאמים אישית.
  3. בחרו צור ערימה.

זה יוצר את כל המשאבים הנדרשים.

טעינת נתונים ל-Kinesis Data Streams

כדי לבצע את טעינת הנתונים, בצע את השלבים הבאים:

  1. במסוף SageMaker, תחת מחברת בחלונית הניווט, בחר מופעי מחברת.
  2. אתר את מופע המחברת AlgorithmicTradingInstance-*.
  3. בחרו פתח את צדק למקרה זה.
  4. עבור אל algorithmic-trading->4_Kinesis תיקייה ובחר Strategy_Kinesis_EMA_HPO.pynb.

כעת אתה מפעיל את שלב הכנת הנתונים במחברת.

  1. טען את מערך הנתונים.

ציין את הדלי הקיים שבו מאוחסנים נתוני הבדיקה. ודא שדלי הבדיקה נמצא באותו אזור שבו הגדרת את הערימה.

  1. הפעל את כל השלבים במחברת עד שלב 2 הכנת נתונים.
  2. במסוף AWS DMS, בחר משימות העברת מסדי נתונים.
  3. בחר את משימת AWS DMS dmsreplicationtask-*.
  4. על פעולות בתפריט, בחר הפעל מחדש / המשך.

זה מתחיל את טעינת הנתונים מ-S3 דלי לזרם הנתונים.

המתן עד שמשימת השכפול תציג את המצב Load complete.

  1. המשך את השלבים במחברת Jupyter.

קרא נתונים משימור לטווח ארוך של Kinesis

אנו קוראים נתוני פתיחה, גבוה, נמוך, סגירה ונפח מדי יום מהשמירה לטווח ארוך של הזרם עם AWS SDK עבור Python (Boto3).

למרות שאנחנו לא משתמשים מאוורר משופר (EFO) בפוסט הזה, אולי כדאי לעשות זאת אפליקציה קיימת כבר קוראת מהזרם. כך אפליקציית הבדיקה האחורית הזו לא מפריעה לאפליקציה הקיימת.

אתה יכול לדמיין את הנתונים שלך, כפי שמוצג בצילום המסך הבא.

הגדר את אסטרטגיית המסחר שלך

בשלב זה, אנו מגדירים את אסטרטגיית המסחר המוצלב הממוצע הנע שלנו.

בנה תמונת Docker

אנו בונים את עבודת הבדיקה האחורית שלנו כתמונת Docker ודוחפים אותה אליה אמזון ECR.

אופטימיזציה של היפרפרמטרים עם SageMaker על נתוני אימון

עבור אסטרטגיית מסחר מוצלב בממוצע נע, אנו רוצים למצוא את התקופה המהירה והתקופה האיטית האופטימלית של אסטרטגיה זו, ואנו מספקים טווח ימים לחיפוש.

אנו משתמשים ברווח והפסד (P&L) של האסטרטגיה כמדד למציאת היפרפרמטרים מותאמים.

אתה יכול לראות את עבודת הכוונון המומלצת ערך של 7 ו-21 ימים עבור התקופה המהירה והאיטית עבור אסטרטגיית מסחר זו בהינתן מערך ההדרכה.

הפעל את האסטרטגיה עם היפרפרמטרים אופטימליים על נתוני בדיקה

כעת אנו מפעילים אסטרטגיה זו עם היפרפרמטרים אופטימליים על נתוני הבדיקה.

בסיום העבודה, תוצאות הביצועים מאוחסנות באמזון S3, ותוכלו לסקור את מדדי הביצועים בתרשים ולנתח את הזמנות הקנייה והמכירה עבור האסטרטגיה שלכם.

סיכום

בפוסט זה, תיארנו כיצד להשתמש בתכונת השמירה לטווח ארוך של Kinesis Data Streams כדי לאחסן את נתוני מחירי המניה ההיסטוריים וכיצד להשתמש בנתוני סטרימינג לצורך בדיקה לאחור של אסטרטגיית מסחר עם SageMaker.

שמירה לטווח ארוך של נתונים זורמים מאפשרת לך להשתמש באותה פלטפורמה עבור נתונים בזמן אמת וגם עבור נתונים ישנים יותר שנשמרו ב-Kinesis Data Streams. זה מאפשר לך להשתמש בזרם הנתונים הזה למקרי שימוש פיננסיים כמו בדיקות לאחור או למידת מכונה מבלי להעביר את הנתונים למאגר נתונים אחר או לכתוב אפליקציה חדשה. אתה יכול גם לעמוד בתקנות שמירת נתונים מסוימות, כולל תחת HIPAA ו-FedRAMP, תוך שימוש בשמירה לטווח ארוך. למידע נוסף, ראה Amazon Kinesis Data Streams מאפשר שמירת זרם נתונים עד שנה אחת.

הצהרת סיכונים

פוסט זה מיועד למטרות חינוכיות בלבד וביצועי מסחר בעבר אינם מבטיחים ביצועים עתידיים.


על הכותבים

סאצ'ין תאקר הוא ארכיטקט פתרונות בכיר בחברת Amazon Web Services, עובד עם אינטגרטור מערכות גלובלי מוביל (GSI). הוא מביא למעלה מ-22 שנות ניסיון כאדריכל IT וכיועץ טכנולוגי למוסדות גדולים. תחום ההתמקדות שלו הוא ב-Data & Analytics. Sachin מספקת הדרכה אדריכלית ותומכת בשותף GSI בבניית פתרונות אסטרטגיים לתעשייה ב-AWS

אמוג גאיקוואד הוא מפתח פתרונות בצוות אבטיפוס. הוא מתמחה בלמידת מכונה ואנליטיקה ובעל ניסיון רב בפיתוח מודלים של ML בסביבות אמיתיות ובשילוב AI/ML ושירותי AWS אחרים ביישומי ייצור בקנה מידה גדול. לפני שהצטרף לאמזון, הוא עבד כמפתח תוכנה, ופיתח יישומים ארגוניים המתמקדים בתכנון משאבים ארגוניים (ERP) וניהול שרשרת אספקה ​​(SCM). אמוג קיבל תואר שני במדעי המחשב בהתמחות ב-Big Data Analytics ולמידת מכונה.

Dhirj Thakur הוא אדריכל פתרונות עם שירותי האינטרנט של אמזון. הוא עובד עם לקוחות ושותפים של AWS כדי לספק הנחיות לגבי אימוץ ענן ארגוני, הגירה ואסטרטגיה. הוא נלהב מטכנולוגיה ונהנה לבנות ולהתנסות ב-Analytics ובמרחב AI/ML.

אוליבר סטפמן הוא אדריכל פתרונות ארגוניים ב-AWS הממוקם בניו יורק. הוא מביא למעלה מ-18 שנות ניסיון כאדריכל IT, מנהל פיתוח תוכנה וכיועץ ניהול למוסדות פיננסיים בינלאומיים. בתקופתו כיועץ, הוא מינף את הידע הנרחב שלו בטכנולוגיות Big Data, Machine Learning וטכנולוגיות ענן כדי לעזור ללקוחותיו להוציא את הטרנספורמציה הדיגיטלית שלהם לדרך. לפני כן הוא היה ראש טכנולוגיית המסחר העירוני בבנק השקעות שכבה אחד בניו יורק והתחיל את הקריירה שלו בסטארט-אפ משלו בגרמניה.

מקור: https://aws.amazon.com/blogs/big-data/backtest-trading-strategies-with-amazon-kinesis-data-streams-long-term-retention-and-amazon-sagemaker/

בול זמן:

עוד מ AWS