মেশিন লার্নিং ব্যবহার করে আর্থিক টাইমরিজগুলি পূর্বাভাস দেওয়ার জন্য প্রথম পদক্ষেপগুলি


12

ভবিষ্যতে আর্থিক টাইমসারিগুলি 1 বা আরও বেশি পদক্ষেপের পূর্বাভাস দেওয়ার জন্য মেশিন লার্নিং কীভাবে ব্যবহার করতে হয় সে সম্পর্কে আমি উপলব্ধি করার চেষ্টা করছি।

আমার কিছু বর্ণনামূলক ডেটা সহ একটি আর্থিক টাইমরিজ রয়েছে এবং আমি একটি মডেল তৈরি করতে চাই এবং তারপরে মডেলটি n-steps এর পূর্বে ভবিষ্যদ্বাণী করতে ব্যবহার করতে চাই।

আমি এখন পর্যন্ত যা করছি তা হ'ল:

getSymbols("GOOG")

GOOG$sma <- SMA(Cl(GOOG))
GOOG$range <- GOOG$GOOG.High-GOOG$GOOG.Low

tail(GOOG)

           GOOG.Open GOOG.High GOOG.Low GOOG.Close GOOG.Volume GOOG.Adjusted     sma range
2013-05-07    863.01    863.87   850.67     857.23     1959000        857.23 828.214 13.20
2013-05-08    857.00    873.88   852.91     873.63     2468300        873.63 834.232 20.97
2013-05-09    870.84    879.66   868.23     871.48     2200600        871.48 840.470 11.43
2013-05-10    875.31    880.54   872.16     880.23     1897700        880.23 848.351  8.38
2013-05-13    878.89    882.47   873.38     877.53     1448500        877.53 854.198  9.09
2013-05-14    877.50    888.69   877.14     887.10     1579300        887.10 860.451 11.55

তারপরে আমি এই ডেটাতে একটি র্যান্ডমফোরস্ট মডেল লাগিয়েছি।

fit <- randomForest(GOOG$GOOG.Close ~ GOOG$sma + GOOG$range, GOOG)

যা আশ্চর্যজনকভাবে ভাল ফিট করে বলে মনে হচ্ছে:

> fit

Call:
 randomForest(formula = GOOG$GOOG.Close ~ GOOG$sma + GOOG$range,      data = GOOG) 
               Type of random forest: regression
                     Number of trees: 500
No. of variables tried at each split: 1

          Mean of squared residuals: 353.9844
                    % Var explained: 97.28

এবং এটি পূর্বাভাস দেওয়ার জন্য ব্যবহার করার চেষ্টা করেছেন:

predict(fit, GOOG, n.ahead=2)

কিন্তু এই পূর্বাভাস কার্যকর হয়নি।

আমি ক্লোজটি পূর্বাভাস দেওয়ার চেষ্টা করি, মডেলটি ফিট করার আগে, আমি যতটা পূর্বাভাস চাই তার চেয়ে অনেক পদক্ষেপের দ্বারা আমি অন্যান্য ভেরিয়েবলগুলিকে পিছিয়ে রাখতে পারি?

সম্ভবত আমার প্রচুর পরিমাণে অন্যান্য জিনিসও আমলে নেওয়া উচিত তবে এটি মেশিন-লার্নিংয়ের চেষ্টা করে দেখানো আমার প্রথম পদক্ষেপ।

উত্তর:


16

আমার প্রথম পর্যবেক্ষণটি হ'ল আপনি বন্ধের দামের তুলনায় ইনপুটগুলি পিছিয়ে রাখেন নি এবং এজন্যই আপনি এতটা উপযুক্ত observed এসএমএ (সরল চলমান গড়) তার গণনায় সমাপনী মূল্য ব্যবহার করে এবং উচ্চ নিম্ন পরিসীমা বন্ধের দামকে অন্তর্ভুক্ত করে, সুতরাং তাদের বন্ধ করে দামটি ভবিষ্যদ্বাণী করতে ব্যবহার করে সামনের দিকে পক্ষপাতিত্ব দেয়। আমার মতামতটি হল আপনি যদি দু'দিন আগে সমাপনী দামের পূর্বাভাস দেওয়ার চেষ্টা করছেন তবে আপনার মডেলটি অন্ততপক্ষে দু'দিনের মধ্যে বন্ধ হওয়া দাম থেকে পিছিয়ে থাকা ইনপুটগুলি দিয়ে আপনার তৈরি করা উচিত। কিছু ইনপুট দুটি দিনেরও বেশি পিছিয়ে থাকতে পারে তবে আমি সহজ শুরু করে চেষ্টা করব এবং কেবল কয়েক মুঠো ইনপুট ব্যবহার করব।

সমাপ্ত দামের পূর্বাভাস দেওয়ার জন্য আপনার উদ্দেশ্য হিসাবে, আমি মনে করি যে টার্গেট ভেরিয়েবল হিসাবে ব্যবহারের জন্য বন্ধ হওয়া দামগুলি খুব শোরগোলযুক্ত এবং সেগুলি ব্যবহার করা ভুল উদ্দেশ্যকে অতিরিক্ত মানিয়ে বা অপ্টিমাইজেশনের দিকে পরিচালিত করবে। পরিবর্তে আমি মুভিং এভারেজের সাথে বন্ধ দামটি মসৃণ করে এবং তারপরে পরের দু'দিন ধরে দাম পরিবর্তনের দিকনির্দেশনা দিয়ে শুরু করব। উদাহরণস্বরূপ, আমি নিকটবর্তীটির 5 দিনের এসএমএ দিয়ে ক্লোজটি প্রতিস্থাপন করতে পারি এবং তারপরে এসএমএর দাম পরিবর্তনটিকে কোড হিসাবে 1 হিসাবে উল্লেখ করি যদি এটি পরের দুই দিনের তুলনায় ইতিবাচক হয় এবং অন্যথায় 0 হয়। কারণ আউটপুট ভেরিয়েবলটি এখন 1 বা 0 হিসাবে কোড করা হয়েছে এটি আপনি যে এলোমেলো বন ফাংশনটি ব্যবহার করছিলেন তা চেষ্টা করে সমাধান করার জন্য এটি একটি ভাল সমস্যা। আপনি লজিস্টিক রিগ্রেশন, নিউরাল নেটওয়ার্ক এবং এসভিএম এর মতো কিছু অন্যান্য শ্রেণিবদ্ধকরণ অ্যালগরিটগুলিও চেষ্টা করতে পারেন এবং আপনার পারফরম্যান্সের উন্নতি করতে কয়েকটিকে একটি সংযুক্তি হিসাবে সংযুক্ত করতে পারেন। অতিরিক্ত মানানসই ছাড়াই এটি সমাধান করা এখনও একটি কঠিন সমস্যা, তবে এটি সঠিক দিকের একটি পদক্ষেপ। সতর্কতার আরেকটি শব্দ হ'ল আপনার চূড়ান্ত মডেলটিতে পরের দু'দিনকে ধনাত্মক বা নেতিবাচক হিসাবে শ্রেণিবদ্ধকরণে আশ্চর্য নির্ভুলতা থাকতে পারে, তবে এখনও অর্থ হারাতে পারেন কারণ এটি কয়েকটি বড় পদক্ষেপকে ভুলভাবে শ্রেণিবদ্ধ করেছে।

আমি একাধিক সুরক্ষায় আপনার মডেলটি তৈরি করার পরামর্শ দিচ্ছি যাতে মেশিন লার্নিং অ্যালগরিদম কোনও স্টকের আইডিসিএনক্র্যাসিতে না যায়। আমি কমপক্ষে 5 টি স্টক দিয়ে শুরু করব যা প্রত্যেকের সাথে অত্যন্ত সংযুক্ত নয়।

আর্থিক সময় সিরিজের পূর্বাভাসের জন্য মেশিন লার্নিংয়ের অ্যাপ্লিকেশনগুলি অন্বেষণের জন্য গুইডো ডিওবেকের প্রান্তে ট্রেডিং একটি ভাল জায়গা। এটি একটি পুরানো বই তাই এটি আজ আমাদের কাছে যে প্রযুক্তি রয়েছে তা পিছনে রয়েছে তবে এটি একটি ভাল শুরু। আমি কাউফম্যান দ্বারা নতুন ট্রেডিং সিস্টেম এবং পদ্ধতি এবং জন ওলবার্গ দ্বারা বিশেষজ্ঞ ট্রেডিং সিস্টেমগুলিও সুপারিশ করব।


ঠিক আছে, এই উত্তরের জন্য আপনাকে ধন্যবাদ। উদাহরণটি আমার কাছে আরও কীভাবে ডেটা সেট আপ করবেন তা বোঝার জন্য র্যান্ডমফোরস্ট এটি ব্যবহার করতে পারে। তবে এখন আমি জানি যে কাজগুলি চালানোর জন্য আমাকে ইনপুটগুলি পিছিয়ে রাখতে হবে। আপনার উদাহরণে এসএমএর দাম আউটপুট ভেরিয়েবল হিসাবে পাওয়া কি কোনও অর্থ হবে বা এটি 0 বা 1 হিসাবে হতে হবে? । n বইয়ের সুপারিশগুলির জন্য ধন্যবাদ তাদের সাথে আমার পরিচিত হবে।
নিকেকে

আপনি অবশ্যই এসএমএর দাম আউটপুট পরিবর্তনশীল হিসাবে ব্যবহার করতে পারেন; সমস্যাটি আরও জটিল হয়ে ওঠে। কোনও দিকনির্দেশনা পূর্বাভাস দেওয়ার পরিবর্তে আপনি এখন একটি সঠিক মূল্যের মূল্য অনুমান করার চেষ্টা করছেন। আমার অভিজ্ঞতায় কোনও মেশিন অ্যালগরিদমের পক্ষে নমুনা ছাড়াই ভাল কাজ করা খুব কঠিন বিষয়। তবে আপনি যদি ভবিষ্যদ্বাণীটির জন্য টাইম সিরিজ ডেটা সেটআপ করার প্রক্রিয়াটির সাথে নিজেকে পরিচিত হন তবে এটি শুরু করার জন্য ভাল জায়গা হতে পারে, বিশেষত যদি এটি দিকনির্দেশনা পূর্বাভাসের চেয়ে স্বজ্ঞাত হয়। আপনি দু'টি চলমান গড়কে যে দামটি অতিক্রম করবে তার দাম এবং ভবিষ্যদ্বাণীও করতে পারেন।
ক্রসভিলেটেড ট্রেডিং

হাই, কিছু বৈশিষ্ট্য তৈরি এবং একটি মডেল তৈরি করেছে: pastie.org/7958695 আমি মনে করি যে আমি মেকানিক্সের সন্ধান পেয়েছি। এই মডেলটি সমস্ত খুব বক্ররেখা আছে। আপনি কি অনুরূপ কিছু করেছেন এবং এর কোনও বাস্তব ব্যবহার করেছেন? আরও কথা বলতে শীতল হবে।
নিকেকে

আমি আরও বিস্তারিত কথোপকথনের জন্য সর্বদা উন্মুক্ত। আমার পরিচিতির তথ্যটি আমার প্রোফাইলে রয়েছে। আপনি চাইলে আমাকে একটি ইমেল গুলি করুন।
ক্রসভিলেটেড ট্রেডিং ২

মূল্যের মূল্য পূর্বাভাসের সাথে তুলনা করে রিটার্নের পূর্বাভাস দেওয়ার জন্য কিছু সাধারণ রেগ্রেশন কি ঠিক আছে work রিটার্নের পূর্বাভাস দেওয়ার পাশাপাশি বিস্তৃত ছড়িয়ে পড়া এবং কমিশ ইত্যাদির জন্য যথেষ্ট পরিমাণে ফিরে যাওয়ার পূর্বাভাস দিতে হবে আরও কথা বলাতে শীতল হবে, আপনার প্রোফাইলে আপনার মেলটি পাওয়া যায়নি। আমার আগের পোস্টে পোস্ট করা প্যাসিটিতে রয়েছে in
নিকেকে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.