খালেদ তামিম
এই কৌশলটির মূলটি হল অ্যাভেলানেদা-স্টোইকভ মডেল, যা নিম্নলিখিত ধাপগুলির মাধ্যমে বিড এবং জিজ্ঞাসা মূল্য গণনা করেঃ
খালেদ তামিমের অ্যাভেলানেদা-স্টোইকভ কৌশল হল ক্লাসিক মার্কেট মেকিং মডেলের উপর ভিত্তি করে একটি পরিমাণগত ট্রেডিং কৌশল। এটি লেনদেনের খরচ বিবেচনা করার সময় বিড এবং জিজ্ঞাসা মূল্য গণনা করে ট্রেডিং সংকেত তৈরি করে। কৌশলটির সুবিধাগুলি তার শক্ত তাত্ত্বিক ভিত্তি, পরিষ্কার যুক্তি এবং লেনদেনের খরচ বিবেচনা করে। তবে কৌশলটির কর্মক্ষমতা পরামিতি নির্বাচনের উপর নির্ভর করে এবং উচ্চ কার্যকারিতা প্রয়োজন। ভবিষ্যতে, কৌশলটি মেশিন লার্নিং অ্যালগরিদম প্রবর্তন, বাণিজ্য কার্যকরকরণ অনুকূলকরণ, ঝুঁকি ব্যবস্থাপনা প্রবর্তন এবং অন্যান্য পদ্ধতির মাধ্যমে আরও অনুকূলিত করা যেতে পারে।
/*backtest start: 2024-03-01 00:00:00 end: 2024-03-31 23:59:59 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Khaled Tamim's Avellaneda-Stoikov Strategy", overlay=true) // Avellaneda-Stoikov model logic avellanedaStoikov(src, gamma, sigma, T, k, M) => midPrice = (src + src[1]) / 2 sqrtTerm = gamma * sigma * sigma * T // Add 0.1% fee to bid and ask quotes fee = 0 // 0.1% fee bidQuote = midPrice - k * sqrtTerm - (midPrice * fee) askQuote = midPrice + k * sqrtTerm + (midPrice * fee) longCondition = src < bidQuote - M shortCondition = src > askQuote + M [bidQuote, askQuote] // Define strategy parameters gamma = input.float(2, title="Gamma") sigma = input.float(8, title="Sigma") T = input.float(0.0833, title="T") k = input.float(5, title="k") M = input.float(0.5, title="M") // Calculate signals [bidQuote, askQuote] = avellanedaStoikov(close, gamma, sigma, T, k, M) longCondition = close < bidQuote - M shortCondition = close > askQuote + M // Plot signals plotshape(series=longCondition ? low : na, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=shortCondition ? high : na, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // Plot bid and ask prices plot(bidQuote, title="Bid Price", color=color.blue, linewidth=1) plot(askQuote, title="Ask Price", color=color.red, linewidth=1) // Plot inventory level as bars in a separate graph plot(strategy.netprofit, title="Inventory", color=color.new(color.purple, 80), style=plot.style_columns) // Strategy logic if (longCondition) strategy.entry("Buy", strategy.long) if (shortCondition) strategy.entry("Sell", strategy.short)