آموزش فیلترنویسی

حجم عظیم داده های تاریخی و پیش بینی در بازارهای مالی از یک سو و از سویی دیگر نیازمندی فعالین این بازارها در استفاده ی همزمان از این اطلاعات منجر به ارائه راهکارهای متنوعی جهت سهولت در استفاده و نهایتا تصمیم گیری سرمایه گذاران گردیده است. حجم بالای اطلاعات و نیاز به بررسی همزمان گرچه دو عامل مهم بنظر می آیند، اما فاکتور سومی که اهمیت موضوع را دوچندان می کند، “سرعت” دسترسی به اطلاعات طبقه بندی شده است. برای مثال در بازار سهام، جستجو در بین صدها نماد بازار جهت غربال کردن نمادهایی که یک یا چند ویژگی مد نظر مارا دارند کار بسیار سخت و زمان بری است. برای همین ما نیاز داریم آموزش فیلترنویسی را دقیق یاد بگیریم.

فهرست []

    فرض کنید، در بین چند صد سهام مختلفی که قابلیت معامله در بازار سهام را دارند، شما به دنبال سهمی خاص با ویژگی معاملاتی خاصی هستید، برای مثال سهمی که صف خرید باشد و تمایل دارید تنها اطلاعات این نوع خاص از سهم ها نشان داده شود.

    فیلترنویسی چیست؟

    فیلترنویسی دقیقا ابزاری است که به این نوع از تقاضای معامله گران پاسخ می دهد و اطلاعات را در انواع مختلفی از دسته بندی ها، فیلتر کرده و ارائه می دهد. درواقع فیلتر، غربالگری سهم مناسب، براساس دستور است.

    شرکت مدیریت فناوری بورس تهران یکی از ارکان اصلی بازار سرمایه و زیر مجموعه سازمان بورس واوراق بهادار است. این شرکت قابلیتی در قالب فیلترنویسی در سایت خود(که در بخش دیده بان بازار می توان به آن دسترسی پیدا کرد.

    در این بخش شبه کدها یا اسکریپت هایی که دارای یکسری عملگرها و فیلدهای از قبل آماده شده است، قرار دارد که بخشی از نیازهای سفارشی نمودن اطلاعات را فراهم کرده است.

    برای این کار نیاز به استفاده از هیچ نرم افزار جانبی دیگری نیست و می توان تحت وب در محیط اسکریپت سایت از دستورات آماده ارائه شده استفاده کرد. لذا استفاده از این محیط جهت دسته بندی اطلاعات ساده بوده و امکان سرعت بخشیدن به اطلاعات مورد نیاز را فراهم می کند.

    امکان استفاده از BackTest (که با استفاده از این قابلیت می توان بر اساس داده های گذشته استراتژی معاملاتی خود را در گذشته آزمون نمود) در این محیط وجود نداشته و این مورد از معایب آن محسوب می شود.

    جهت روشن تر شدن موضوع در ادامه به برخی از سوالاتی که با ابزارفیلترنویسی قادر به پاسخگویی به آن ها هستیم، خواهیم پرداخت:

    • فیلتر صف خرید و صف فروش
    • فیلتر اختلاف قیمت پایانی و قیمت تابلو
    • فیلتر نمادهای منفی
    • فیلتر ورود یا خروج نقدینگی
    • فیلتر قدرت خریدار بیشتر از قدرت فروشنده
    • فیلتر حجم معاملات
    • و…

    دقت کنید که موارد بالا بصورت نمونه مطرح شده اند و دست شما در طراحی شرط مورد نظر باز می باشد. لذا می توان گفت، فیلترها معمولا دو کار مهم انجام می دهند:

    • وضعیت موجود سهام را براساس معیار مورد نظر ما نشان می دهند.
    • هر وقت سهمی به شرایط مورد نظر ما رسید ، آنرا نشان می دهد.

    کاربرد فیلترنویسی

    • دسترسی سریع به اطلاعات مدنظر در بین انبوهی از اطلاعات
    • مشاهده دقیق هر گونه تغییر در وضعیت سهام مدنظر
    • پیدا کردن سهام با ویژگی های مد نظر جهت انجام معامله
    • با فیلتر نویسی می توان بدون رصد بازار، هروقت سهمی به شرایط دلخواه ما رسید پیام های هشدار دهنده برای ما ارسال شود(گزینه نمایش هشدار)
    • بررسی خروجی استراتژی های معاملاتی

    نوشتن فیلتر

    • جهت وارد کردن کدها در بخش فیلتر به صورت زیر عمل نمایید:
    • ابتدا وارد سایت بازار بورس اوراق بهادار شوید، سپس به قسمت دیده بان بازار رفته و از قسمت فیلتر بورس گزینه فیلتر جدید را کلیک نمایید.
    • سپس بر روی فیلتر جدید ایجاد شده کلیک نمایید.
    • در قسمت نام فیلتر اسمی را برای فیلتر خود وارد کنید.
    • کد منتخب را در قسمت مربوطه وارد نمایید.
    • گزینه اعتبار سنجی را وارد نمایید تا خطاهای کد شما در صورت وجود مشخص شود.
    • در نهایت گزینه ثبت را کلیک نمایید.

    کلیه فیلترهایی که نوشته اید ذخیره می شوند و هر لحظه که بخواهید می توفیلتر مورد نظر را انتخاب و اجرا کنید. برای اجرای فیلتر کافی است فقط روی نام فیلتر مورد نظر کلیک کنید. پس از کلیک کردن فیلتر مورد نظر اجرا شده و نتیجه آن در دیده بان نمایش داده خواهد شد.

    نکته مهم:

    ابتدا نام را در قسمت نام فیلتر وارد نموده و کد را در محل شرط نوشته و آیکون اعتبارسنجی را بزنید. در صورتی که خطایی نداشت می توانید دکمه ثبت را زده  و فیلتر را ثبت کنید. ممکن است در موقع اعتبار سنجی با خطاهایی مواجه شوید.

    معمول ترین خطاها is not defined و یا Unexpected token د. هنگامی که با این خطا ها مواجه شدید اگر نام سیمبل یا یک عدد را خطا داد، احتمالا اشتباه تایپ کرده یا بین حروف سیمبل فاصله افتاده است و یا حرف اول آن بزرگ تایپ شده است که باید اقدام به اصلاح آن کنید تا کد قابل خواندن و اجرا باشد.

    انواع قالب فیلترنویسی

    در دیده بان، دو نوع قالب و فرمت فیلتر نویسی به شرح زیر فراهم است:

    قالب ساده

    در این روش شما می توانید از فیلدهای اطلاعاتی، عملگرها و توابع پیش ساخته استفاده کنید. هر فیلتر می تواند از تعدادی شرط تشکیل شود که با عملگرهای and , or از هم جدا شده اند. برای مثال:

    (pl) > 1000 && (pc)>1000

    قالب کد نویسی

    در این روش علاوه بر امکانات بالا می توانید برنامه خود را بنویسید. در برنامه شما می توانید توابع جدید بسازید، دستورات حلقه، شرط، تعریف متغیر و … را استفاده کنید. در این حالت باید قالب زیر را استفاده کنید:

     

    true==function()

    {

    //——————محل تعریف توابع شما———————–

    //——————محل تعریف برنامه شما———————

    }()

    نماد عملگرها

    عملگرهای موجود جهت استفاده در نوشتن فیلتر مورد نظر به شرح جدول زیر می باشد:

    اطلاعات مورد نیاز در فیلترنویسی

    همچنین، در هنگام طراحی فیلتر اطلاعات زیر در اختیار شما می باشد:

    لازم به ذکر است که نیازی به حفظ کردن این سیمبل ها نبوده و در سایتبخش راهنمای ساخت فیلتر به صورت کامل و لیست شده در دسترس است:

    نمادها و عملگرهای مطرح شده در دو جدول بالا، امکان طراحی فیلترهای درخواستی معامله گران را فراهم می کند، با این حال جهت شفافیت موضوع در زیر به بررسی چند نمونه از فیلترها می پردازیم:

    • صف خرید ساده:

    (pd1) == (tmax) && (qd1)>0

    • صف فروش ساده:

    (po1) == (tmin) && (qo1)>0

    • صف خرید بیشتر از حجم مبنا:

    (pd1) == (tmax) && (qd1)>(bvol)

    • صف فروش بیش از 50 هزار سهم:

    (po1) == (tmin) && (qo1)>50000

    همچنین لیست توایع ریاضی که در فیلترهای محاسباتی کاربرد دارد نیز به شرح زیر است:

    همچنین فیلدهای مربوط به سابقه معاملات نیز به شرح زیر است، لازم به ذکر است که که در حال حاضر دسترسی به داده های سهام برای 60 روز گذشته فراهم است

    اطلاعات خرید و فروش حقیقی و حقوقی نیز به شرح جدول زیر است: