پروگرامٹک ٹریڈرز کے لئے ایک طاقتور ٹول: اوسط اور تغیرات کا حساب لگانے کے لئے اضافی اپ ڈیٹ الگورتھم

مصنف:لیدیہ, تخلیق: 2023-11-09 15:00:05, تازہ کاری: 2024-01-01 12:18:07

img

تعارف

پروگرامٹک ٹریڈنگ میں ، اکثر اوسط اور تغیرات کا حساب لگانا ضروری ہوتا ہے ، جیسے حرکت پذیر اوسط اور اتار چڑھاؤ کے اشارے کا حساب لگانا۔ جب ہمیں اعلی تعدد اور طویل مدتی حساب کتاب کی ضرورت ہوتی ہے تو ، تاریخی اعداد و شمار کو طویل عرصے تک برقرار رکھنا ضروری ہوتا ہے ، جو غیر ضروری اور وسائل سے بھرپور ہوتا ہے۔ یہ مضمون وزن والے اوسط اور تغیرات کا حساب لگانے کے لئے ایک آن لائن اپ ڈیٹ الگورتھم متعارف کراتا ہے ، جو خاص طور پر حقیقی وقت کے اعداد و شمار کے سلسلے کو پروسیسنگ اور متحرک طور پر ایڈجسٹ کرنے کے لئے ضروری ہے تجارتی حکمت عملی ، خاص طور پر اعلی تعدد کی حکمت عملی۔ مضمون میں تاجروں کو فوری طور پر تعینات کرنے اور اصل تجارت میں الگورتھم کو لاگو کرنے میں مدد کے لئے متعلقہ پائتھون کوڈ کی عمل درآمد بھی فراہم کی گئی ہے۔

سادہ اوسط اور تغیر

اگر ہم استعمالimgnth ڈیٹا پوائنٹ کی اوسط قدر کی نمائندگی کرنے کے لئے، یہ فرض کرتے ہوئے کہ ہم نے پہلے ہی n-1 ڈیٹا پوائنٹس / اپ لوڈ / اثاثہ / 28e28ae0beba5e8a810a6.png کی اوسط شمار کیا ہے، اب ہم ایک نیا ڈیٹا پوائنٹ / اپ لوڈ / اثاثہ / 28d4723cf4cab1cf78f50.png حاصل کرتے ہیں. ہم نئے اوسط نمبر کا حساب کرنا چاہتے ہیںimgجس میں نیا ڈیٹا پوائنٹ بھی شامل ہے۔ ذیل میں ایک تفصیلی اخذ ہے۔

img

تغیر کی تازہ کاری کا عمل مندرجہ ذیل مراحل میں تقسیم کیا جاسکتا ہے:

img

جیسا کہ مندرجہ بالا دو فارمولوں سے دیکھا جا سکتا ہے، یہ عمل ہمیں ہر نئے ڈیٹا پوائنٹ حاصل کرنے پر نئے اوسط اور تغیرات کو اپ ڈیٹ کرنے کی اجازت دیتا ہےimgاس سے پہلے کے اعداد و شمار کے اوسط اور تغیر کو برقرار رکھنے کے بغیر ، تاریخی اعداد و شمار کو محفوظ کیے بغیر ، حساب کتاب کو زیادہ موثر بناتا ہے۔ تاہم ، مسئلہ یہ ہے کہ ہم اس طرح سے جو حساب لگاتے ہیں وہ تمام نمونے کا اوسط اور تغیر ہے ، جبکہ اصل حکمت عملیوں میں ، ہمیں ایک خاص مقررہ مدت پر غور کرنے کی ضرورت ہے۔ مندرجہ بالا اوسط اپ ڈیٹ کا مشاہدہ کرنے سے پتہ چلتا ہے کہ نئی اوسط اپ ڈیٹس کی مقدار نئے اعداد و شمار اور ماضی کے اوسط کے درمیان ایک انحراف ہے جو تناسب سے ضرب ہے۔ اگر یہ تناسب طے شدہ ہے تو ، اس سے ایک تیزی سے وزن میں اوسط پیدا ہوگا ، جس پر ہم اگلا تبادلہ خیال کریں گے۔

ایکسپونینشل ویٹڈ میڈین

ایکسپونینشل ویوٹڈ میڈین کو مندرجہ ذیل ریکوریو رشتہ کے ذریعہ بیان کیا جاسکتا ہے:

img

ان میں،imgt وقت کے نقطہ پر ایکسپونینشل وزن اوسط ہے،imgوقت t میں مشاہدہ کی قدر ہے، α وزن عنصر ہے، اورimgپچھلے وقت کے نقطہ کا ایکسپونینشل ویٹڈ میڈین ہے۔

ایکسپونینشل ویوٹڈ ویریئنس

تغیر کے بارے میں ، ہمیں ہر وقت کے نقطہ پر مربع انحراف کے اشاریاتی وزن والے اوسط کا حساب لگانے کی ضرورت ہے۔ یہ مندرجہ ذیل تکرار تعلقات کے ذریعے حاصل کیا جاسکتا ہے۔

img

ان میں،imgوقت t پر ایکسپونینشل وزن والا تغیر ہے، اورimgپچھلے وقت کے نقطہ کی ایکسپونینشل وزن شدہ تغیر ہے.

نمایاں طور پر وزن والے اوسط اور تغیر کا مشاہدہ کریں ، ان کی اضافی تازہ کاریاں بدیہی ہیں ، ماضی کی اقدار کا ایک حصہ برقرار رکھتے ہیں اور نئی تبدیلیاں شامل کرتے ہیں۔ اس کاغذ میں مخصوص مشتق عمل کا حوالہ دیا جاسکتا ہے:https://fanf2.user.srcf.net/hermes/doc/antiforgery/stats.pdf

ایس ایم اے اور ای ایم اے

ایس ایم اے (جسے ریاضیاتی اوسط بھی کہا جاتا ہے) اور ای ایم اے دو عام شماریاتی اقدامات ہیں ، جن میں سے ہر ایک کی خصوصیات اور استعمال مختلف ہیں۔ پہلا ہر مشاہدے کو برابر وزن دیتا ہے ، جو ڈیٹا سیٹ کی مرکزی پوزیشن کی عکاسی کرتا ہے۔ دوسرا ایک تکرار حساب کتاب کا طریقہ ہے جو حالیہ مشاہدات کو زیادہ وزن دیتا ہے۔ وزن تیزی سے کم ہوتا ہے کیونکہ موجودہ وقت سے فاصلہ ہر مشاہدے کے لئے بڑھتا ہے۔

  • وزن کی تقسیم: ایس ایم اے ہر ڈیٹا پوائنٹ کو ایک ہی وزن دیتا ہے ، جبکہ ای ایم اے تازہ ترین ڈیٹا پوائنٹس کو زیادہ وزن دیتا ہے۔
  • نئی معلومات کے لئے حساسیت: ایس ایم اے نئے اعداد و شمار کے لئے کافی حساس نہیں ہے ، کیونکہ اس میں تمام ڈیٹا پوائنٹس کا دوبارہ حساب لگانا شامل ہے۔ دوسری طرف ، ای ایم اے تازہ ترین اعداد و شمار میں ہونے والی تبدیلیوں کو تیزی سے ظاہر کرسکتا ہے۔
  • کمپیوٹیشنل پیچیدگی: ایس ایم اے کا حساب کتاب نسبتا straight سیدھا ہے ، لیکن جیسے جیسے ڈیٹا پوائنٹس کی تعداد میں اضافہ ہوتا ہے ، اسی طرح حساب کتاب کی لاگت میں بھی اضافہ ہوتا ہے۔ ای ایم اے کا حساب کتاب زیادہ پیچیدہ ہے ، لیکن اس کی تکرار کی نوعیت کی وجہ سے ، یہ مسلسل ڈیٹا اسٹریم کو زیادہ موثر انداز میں سنبھال سکتا ہے۔

ای ایم اے اور ایس ایم اے کے درمیان تقریباً تبادلوں کا طریقہ

اگرچہ ایس ایم اے اور ای ایم اے تصوراتی طور پر مختلف ہیں ، لیکن ہم ایک مناسب α قدر کا انتخاب کرکے ایک مخصوص تعداد میں مشاہدات پر مشتمل ایس ایم اے کے قریب ای ایم اے بنا سکتے ہیں۔ اس قریب سے تعلق کو موثر نمونہ سائز کے ذریعہ بیان کیا جاسکتا ہے ، جو ای ایم اے میں وزن کے عنصر α کا ایک فنکشن ہے۔

ایس ایم اے ایک مقررہ وقت کی ونڈو کے اندر تمام قیمتوں کا ریاضیاتی اوسط ہے۔ ایک وقت کی ونڈو N کے لئے ، ایس ایم اے کا سینٹرائڈ (یعنی وہ پوزیشن جہاں اوسط نمبر واقع ہے) اس طرح سمجھا جاسکتا ہے:

ایس ایم اے کا سینٹرائڈimg

ای ایم اے ایک قسم کا وزن دار اوسط ہے جہاں حالیہ اعداد و شمار کے پوائنٹس کا وزن زیادہ ہوتا ہے۔ ای ایم اے کا وزن وقت کے ساتھ ساتھ نمایاں طور پر کم ہوتا ہے۔ ای ایم اے کا سینٹرائڈ مندرجہ ذیل سیریز کا خلاصہ کرکے حاصل کیا جاسکتا ہے:

ای ایم اے کا سینٹرائڈimg

جب ہم فرض کرتے ہیں کہ ایس ایم اے اور ای ایم اے کا ایک ہی سینٹرائڈ ہے، تو ہم حاصل کرسکتے ہیں:

img

اس مساوات کو حل کرنے کے لئے، ہم α اور N کے درمیان تعلقات حاصل کر سکتے ہیں.

img

اس کا مطلب یہ ہے کہ N دنوں کے دیئے گئے ایس ایم اے کے لئے ، مساوی ای ایم اے کا حساب لگانے کے لئے مساوی α قدر کا استعمال کیا جاسکتا ہے ، تاکہ ان کے پاس ایک ہی سینٹرائڈ ہو اور نتائج بہت ملتے جلتے ہوں۔

مختلف اپ ڈیٹ فریکوئنسی کے ساتھ EMA کا تبادلہ

فرض کریں کہ ہمارے پاس ایک ای ایم اے ہے جو ہر سیکنڈ میں اپ ڈیٹ ہوتا ہے ، جس کا وزن فیکٹر / اپ لوڈ / اثاثہ / 28da19ef219cae323a32f.png ہے۔ اس کا مطلب یہ ہے کہ ہر سیکنڈ میں ، نیا ڈیٹا پوائنٹ ای ایم اے میں / اپ لوڈ / اثاثہ / 28da19ef219cae323a32f.png کے وزن کے ساتھ شامل کیا جائے گا ، جبکہ پرانے ڈیٹا پوائنٹس کے اثر و رسوخ کو / اپ لوڈ / اثاثہ / 28cfb008ac438a12e1127.png سے ضرب دیا جائے گا۔

اگر ہم اپ ڈیٹ کی تعدد کو تبدیل کرتے ہیں، جیسے ہر f سیکنڈ میں ایک بار اپ ڈیٹ کرنا، تو ہم ایک نیا وزن فیکٹر / اپ لوڈ / اثاثہ / 28d2d28762e349a03c531.png تلاش کرنا چاہتے ہیں، تاکہ f سیکنڈ کے اندر اعداد و شمار کے پوائنٹس کا مجموعی اثر ہر سیکنڈ میں اپ ڈیٹ ہونے پر ہی ہو۔

f سیکنڈ کے اندر ، اگر کوئی تازہ کاری نہیں کی جاتی ہے تو ، پرانے ڈیٹا پوائنٹس کا اثر مسلسل f گنا گھٹ جائے گا ، ہر بار / اپ لوڈ / اثاثہ / 28e50eb9c37d5626d6691.png سے ضرب کیا جائے گا۔ لہذا ، f سیکنڈ کے بعد مجموعی گھٹنے کا عنصر / اپ لوڈ / اثاثہ / 28e296f97d8c8344a2ee6.png ہے۔

تاکہ ہر f سیکنڈ میں اپ ڈیٹ ہونے والے ای ایم اے کو ایک اپ ڈیٹ مدت کے اندر ہر سیکنڈ میں اپ ڈیٹ ہونے والے ای ایم اے کے طور پر ایک ہی زوال کا اثر پڑے، ہم f سیکنڈ کے بعد مجموعی زوال فیکٹر کو ایک اپ ڈیٹ مدت کے اندر زوال فیکٹر کے برابر مقرر کرتے ہیں:

img

اس مساوات کو حل کرتے ہوئے، ہم نئے وزن کے عوامل حاصل کرتے ہیںimg

img

یہ فارمولا نئے وزن فیکٹر / اپ لوڈ / اثاثہ / 28d2d28762e349a03c531.png کی تخمینہ قدر فراہم کرتا ہے ، جو اپ ڈیٹ کی تعدد میں تبدیلی کے وقت EMA ہموار اثر کو برقرار رکھتا ہے۔ مثال کے طور پر: جب ہم اوسط قیمت کا حساب لگاتے ہیںimgایک قدر 0.001 کے ساتھ اور ہر 10 سیکنڈ میں اسے اپ ڈیٹ کریں، اگر یہ ہر سیکنڈ میں ایک اپ ڈیٹ میں تبدیل کیا جاتا ہے تو، مساوی قدرimgتقریبا 0.01 ہو جائے گا.

پائتھون کوڈ کا نفاذ

class ExponentialWeightedStats:
    def __init__(self, alpha):
        self.alpha = alpha
        self.mu = 0
        self.S = 0
        self.initialized = False

    def update(self, x):
        if not self.initialized:
            self.mu = x
            self.S = 0
            self.initialized = True
        else:
            temp = x - self.mu
            new_mu = self.mu + self.alpha * temp
            self.S = self.alpha * self.S + (1 - self.alpha) * temp * (x - self.mu)
            self.mu = new_mu

    @property
    def mean(self):
        return self.mu

    @property
    def variance(self):
        return self.S

# Usage example
alpha = 0.05  # Weight factor
stats = ExponentialWeightedStats(alpha)
data_stream = [] # Data stream
for data_point in data_stream:
    stats.update(data_point)

خلاصہ

ہائی فریکوئنسی پروگرامٹک ٹریڈنگ میں ، ریئل ٹائم ڈیٹا کی تیز رفتار پروسیسنگ انتہائی ضروری ہے۔ کمپیوٹیشنل کارکردگی کو بہتر بنانے اور وسائل کی کھپت کو کم کرنے کے ل this ، اس مضمون میں اعداد و شمار کے سلسلے کے مسلسل حساب کتاب کے لئے ایک آن لائن اپ ڈیٹ الگورتھم متعارف کرایا گیا ہے۔ ریئل ٹائم انٹریمینٹل اپ ڈیٹس کو مختلف شماریاتی اعداد و شمار اور اشارے کے حساب کتاب کے لئے بھی استعمال کیا جاسکتا ہے ، جیسے دو اثاثوں کی قیمتوں کے مابین ارتباط ، لکیری فٹنگ وغیرہ ، جس میں بہت زیادہ صلاحیت ہے۔ انٹریمینٹل اپ ڈیٹنگ ڈیٹا کو سگنل سسٹم کے طور پر سمجھتی ہے ، جو مقررہ مدت کے حساب کتاب کے مقابلے میں سوچ میں ارتقاء ہے۔ اگر آپ کی حکمت عملی میں اب بھی ایسے حصے شامل ہیں جو تاریخی اعداد و شمار کا استعمال کرتے ہوئے حساب کتاب کرتے ہیں تو ، اس نقطہ نظر کے مطابق اس کو تبدیل کرنے پر غور کریں: صرف سسٹم کی حیثیت کے تخمینے ریکارڈ کریں اور جب نیا ڈیٹا پہنچے تو سسٹم کی حیثیت کو اپ ڈیٹ کریں۔ اس سائیکل کو آگے بڑھاتے ہوئے دہرائ


مزید