فیلتر در دیدهبان بازار سایت مدیریت فناوری بورس تهران (TSETMC) یک عبارت منطقی است که برای هر نماد جداگانه اجرا میشود و یکی از دو جواب «درست» یا «نادرست» را میدهد. نمادهایی که جوابشان «درست» است در فهرست میمانند و بقیه حذف میشوند. همین و بس؛ فیلتر نه پیشبینی میکند، نه رتبهبندی، و نه سیگنال میدهد.
ارزش واقعی فیلتر این است که فهرست هفتصد نمادی بازار را به ده تا پانزده نماد کاهش میدهد تا وقت تحلیل دستیات صرف همانها شود.
یک فیلتر از سه چیز ساخته میشود: متغیر، عملگر مقایسه و عملگر منطقی.
(pl) برای قیمت آخرین معامله.&& به معنی «و» و با || به معنی «یا» به هم وصل میکنی.خروجی نهایی باید یک عبارت درست یا نادرست باشد. اگر شرطها را با پرانتز گروهبندی کنی، هم خطا کمتر میشود و هم بعداً میتوانی بخوانی چه نوشتهای.
نکتهقیمتها در این متغیرها به ریال هستند. اگر میخواهی شرطی به تومان بگذاری، عدد را در ۱۰ ضرب کن. فراموشکردن این نکته رایجترین دلیل خالیماندن خروجی فیلتر است.
برای تابلوخوانی، اینها بیشترین کاربرد را دارند:
| متغیر | معنی |
|---|---|
(pl) |
قیمت آخرین معامله (ریال) |
(pc) |
قیمت پایانی (ریال) |
(py) |
قیمت پایانی روز قبل (ریال) |
(pf) |
اولین قیمت روز |
(pmax) و (pmin) |
بیشترین و کمترین قیمت روز |
(plp) و (pcp) |
درصد تغییر آخرین معامله و قیمت پایانی |
(tvol) |
حجم معاملات روز |
(tval) |
ارزش معاملات روز (ریال) |
(tno) |
تعداد معاملات |
(bvol) |
حجم مبنا |
(ct).Buy_I_Volume و (ct).Buy_CountI |
حجم خرید حقیقی و تعداد کدهای خریدار حقیقی |
(ct).Sell_I_Volume و (ct).Sell_CountI |
حجم فروش حقیقی و تعداد کدهای فروشندهٔ حقیقی |
(ct).Buy_N_Volume و (ct).Sell_N_Volume |
حجم خرید و فروش حقوقی |
(pd1) و (qd1) |
قیمت و حجم بهترین سفارش خرید |
(po1) و (qo1) |
قیمت و حجم بهترین سفارش فروش |
اگر این نامها آشنا به نظر میرسند، به این دلیل است که متریکهای تابلوخوانی «بازار باشه» هم از همین میدانها ساخته میشوند.
۱. قدرت خریدار بالای ۱٫۵: سرانهٔ خرید حقیقی را با سرانهٔ فروش حقیقی مقایسه میکند. چون قیمت در هر دو طرف یکی است و از نسبت حذف میشود، لازم نیست در فرمول بیاید.
((ct).Buy_I_Volume / (ct).Buy_CountI) > 1.5 * ((ct).Sell_I_Volume / (ct).Sell_CountI)
۲. سرانهٔ خرید حقیقی بالای ۵۰ میلیون تومان: اینجا قیمت لازم است، و چون واحد ریال است، ۵۰ میلیون تومان میشود ۵۰۰ میلیون ریال.
((ct).Buy_I_Volume * (pc) / (ct).Buy_CountI) > 500000000
۳. کف نقدشوندگی: بدون این شرط، فیلترهای بالا پر از نمادهای کممعامله با سرانهٔ کاذب میشوند.
(ct).Buy_CountI >= 50 && (ct).Sell_CountI >= 20 && (tvol) > (bvol)
در عمل هر سه را با && به هم وصل میکنی تا یک فیلتر واحد بسازی. اگر شرط سوم را حذف کنی، خروجی شلوغ و بیفایده میشود؛ دلیلش را در دامهای تابلوخوانی خواندهای.
سه دلیل:
پس بعد از فیلتر، نماد به نماد باز کن و تعداد کدها، روند چند روزهٔ جریان پول و وضعیت کلی نماد را ببین.
اسکرینر تابلوخوانی «بازار باشه» همین شرطها را بهشکل فیلتر ترکیبی آماده دارد و لازم نیست کد بنویسی: معیار را از فهرست انتخاب میکنی، «بالاتر از» یا «پایینتر از» را میگذاری و عدد را وارد میکنی. همهٔ شرطها با «و» ترکیب میشوند و عددها تومانیاند (سرانه به میلیون تومان، ورود پول به میلیارد تومان)، پس ضرب در ۱۰ لازم نیست.
سه دکمهٔ آماده هم هست: «پول هوشمند ورودی» (ورود پول بالای ۱ میلیارد تومان و قدرت خریدار بالای ۱٫۲)، «قدرت خریدار بالا» (قدرت بالای ۱٫۵ و سرانهٔ خرید بالای ۵۰ میلیون تومان) و «سبز و پولدار» (تغییر روز مثبت و ورود پول بالای ۰٫۵ میلیارد تومان). یک کف نقدشوندگی ساده هم خودکار اعمال میشود: نمادی که نه ۱۰ خریدار حقیقی دارد و نه ۱۰ فروشندهٔ حقیقی، در نتیجه نمیآید. این کف از شرط سوم بالا ملایمتر است و اسکرینر معیاری برای تعداد کد ندارد؛ پس تعداد کدهای نمادهای نتیجه را خودت در تابلوی رسمی چک کن.
بهشکل محدود. متغیرهای تاریخی مثل ردیفهای روزهای قبل در دسترساند، ولی نوشتن شرطهای چندروزه پیچیده و کند میشود. برای تحلیل چندروزه بهتر است سراغ بکتست بروی.
معمولترین دلیل، واحد است: عدد را تومانی نوشتهای در حالی که متغیر ریالی است. دلیل دوم، سختگیری بیش از حد در ترکیب چند شرط با «و» است.
دو تا چهار شرط معنادار، بهعلاوهٔ یک کف نقدشوندگی. هر شرط اضافه، احتمال اینکه فقط به گذشته برازش داده باشی را بالا میبرد.
بله، روی آمار همان لحظهٔ دیدهبان اجرا میشود. برای همین خروجیاش در دقایق اول بازار بیثبات است و در نیمهٔ دوم جلسه قابل اتکاتر.