Self-Hosted A-Share Quant Workbench விளக்கம்
உங்கள் கணினியில் screening, backtesting நடத்தும் self-hosted A-share quant workbench எதைச் சார்ந்துள்ளது? முதலில் சரிபார்க்க வேண்டிய நான்கு அம்சங்கள் இங்கே.
சுயமாக host செய்யப்படும் A-share quant workbench என்பது, broker-ன் terminal-க்கு பதிலாக நீங்கள் கட்டுப்படுத்தும் கணினியில் இயங்கும் ஒரு web page ஆகும். இது சந்தையைத் திரையிடும், கண்காணிப்புப் பட்டியலில் உள்ள பங்குகளைப் பின்தொடரும், backtest-களை இயக்கும், மேலும் சந்தை முடிந்த பின் ஆய்வு அறிக்கையை எழுதும். MIT உரிமம் பெற்ற tickflow-stock-panel என்ற project, இத்தகைய அனைத்து செயல்பாடுகளையும் ஒரே port-ன் பின்னால் தொகுத்து வழங்குகிறது. 2026 ஆகஸ்ட் நிலவரப்படி, GitHub-ல் இதற்கு சுமார் 2,800 stars கிடைத்திருந்தன. Feature list-ஐப் படிப்பது எளிதான பகுதி. அதன் அடிப்படையில் இயங்கும் layer தான், அடுத்த காலாண்டிலும் இவற்றில் ஏதேனும் தொடர்ந்து செயல்படுமா என்பதைத் தீர்மானிக்கிறது.
Self-hosted A-share quant workbench எதனால் உருவாகிறது
இந்தக் கட்டமைப்பு மனதில் பதியுமளவுக்கு சுருக்கமானது. August 2026 commit-இல் உள்ள code மற்றும் docs அடிப்படையில், இது பின்வருமாறு அமைந்துள்ளது:
- React மற்றும் TypeScript-ல் உருவாக்கப்பட்ட web page.
- தரவை குறிப்பிட்ட இடைவெளியில் புதுப்பிக்கும் scheduler உடன் கூடிய Python service, FastAPI.
- உள்ளூர் சேமிப்பு: disk-இல் உள்ள Parquet files; அவை DuckDB மூலம் query செய்யப்படுகின்றன, Polars மூலம் கணக்கிடப்படுகின்றன.
- அந்த files-ஐ அடிப்படையாகக் கொண்டு செயல்படும் backtesting engine, vectorbt.
- panel காட்டும் ஒவ்வொரு விலையையும் பெறும் vendor SDK.
இதில் இல்லாததை கவனியுங்கள். இந்த stack-இல் எதுவும் exchange-உடன் இணைக்கப்படவில்லை. Panel கணக்கிடுகிறது; vendor தரவை வழங்குகிறது. “Self-hosted” என்பது code எங்கு இயங்குகிறது என்பதையே குறிக்கிறது; எண்கள் எங்கிருந்து வருகின்றன என்பதை அது குறிப்பிடுவதில்லை. மூல market bars-ஐக் கொண்டிருப்பது கீழுள்ள உள்ளூர் A-share market data lake-ன் பணி. அதுவே மேலுள்ள அனைத்துக் கூறுகளையும் மாற்றக்கூடியதாக ஆக்குகிறது.
Data source-ன் free tier எதை வழங்குகிறது
ஒரே ஒரு environment variable, panel எதைப் பார்க்க முடியும் என்பதைத் தீர்மானிக்கிறது. Vendor key-ஐ காலியாக விட்டால், ஆவணங்களில் குறிப்பிடப்படும் None mode-ல் project இயங்கும். இதில் free endpoint மூலம் வரலாற்று daily bars கிடைக்கும். நடப்பு session-க்கான தரவு market close-க்கு ஒன்று முதல் இரண்டு மணி நேரத்திற்குப் பிறகு கிடைக்கும். Key-ஐ நிரப்பினால், paid tier அடிப்படையில் access திறக்கப்படும். End-of-day பணிகளுக்கு இது பயன்படுத்தக்கூடிய free tier. ஆனால் intraday பயன்பாட்டுக்கு இது தெளிவான வரம்பாகும். ஒவ்வொரு renewal-இலும் vendor மீண்டும் உறுதிப்படுத்தக்கூடிய விதிமுறைகளில் இது வழங்கப்படுகிறது.
Maintainer இந்த ஏற்பாட்டை நேரடியாக விளக்குகிறார்:
இந்தத் திட்டம் கற்றல் மற்றும் quantitative research நோக்கங்களுக்காக மட்டுமே. இது எந்த முதலீட்டு ஆலோசனையும் அல்ல. Backtest முடிவுகள் எதிர்கால வருமானத்தை பிரதிநிதித்துவப்படுத்தாது.
இந்தத் திட்டம் தனிப்பட்ட open-source திட்டமாகும். இது TickFlow தரவு மூலத்தை அடிப்படையாகக் கொண்டது; TickFlow-ன் அதிகாரப்பூர்வத் திட்டம் அல்ல.
README, shy3130/tickflow-stock-panel, 13 August 2026 அன்று வாசிக்கப்பட்டது
இதன் பொருள், இந்தத் திட்டம் ஆய்வு மற்றும் quantitative research நோக்கங்களுக்காக மட்டுமே. இது “முதலீட்டு ஆலோசனையாகாது”. Backtest முடிவுகள் எதிர்கால வருமானத்தை பிரதிபலிக்காது. மேலும் இது “TickFlow-ன் அதிகாரப்பூர்வ தயாரிப்பு அல்ல; தனிப்பட்ட open-source திட்டம்” என்பதையும் maintainer குறிப்பிடுகிறார். இந்த வகைத் திட்டங்களின் முக்கியப் பாடம் இதுதான். Zero-ops முறையில் operations பணிகள் உங்கள் பொறுப்பிலிருந்து நீக்கப்படுகின்றன. ஆனால் dependency இருந்த இடத்திலேயே தொடர்கிறது. இந்த panel-ஐ ஆதரிக்க ஒப்புக்கொள்ளாத ஒரு நிறுவனத்திடமிருந்து நீங்கள் தரவை வாடகைக்கு எடுக்கிறீர்கள். README பயன்பாட்டை ஆய்வு மற்றும் research நோக்கங்களுக்குள் மட்டுப்படுத்துகிறது. Licence file MIT ஆகும்.
version எண்ணுக்குப் பதிலாக commit SHA-ஐ ஏன் நிர்ணயிக்க வேண்டும்
commit SHA என்பது சேமிக்கப்பட்ட ஒவ்வொரு மாற்றத்திற்கும் git வழங்கும் 40 எழுத்துகளைக் கொண்ட அடையாளம். இது code-ன் ஒரு குறிப்பிட்ட நிலையை நிரந்தரமாகக் குறிக்கிறது.
13 August 2026 அன்று பார்த்தபோது, அந்த repository-யின் GitHub Releases பக்கத்தில் எதுவும் இல்லை. அதில் v0.1.31 முதல் v0.1.88 வரை 31 version tags இருந்தன. ஆனால் numbering-ல் இடைவெளிகளும், இணைக்கப்பட்ட notes எதுவும் இல்லாமையும் காணப்பட்டன. சமீபத்திய tag, 31 July 2026 தேதியிட்ட commit-ஐக் குறித்தது. அதேவேளை, default branch 6 August 2026 தேதியிட்ட பணிக்கு முன்னேறியிருந்தது. Branch-ஐவிடப் பின்தங்கிய, notes இல்லாத tag மூலம் நீங்கள் பெறுவது என்ன என்பதைத் தெரிந்துகொள்ள முடியாது.
எனவே SHA-ஐப் பதிவு செய்யுங்கள். 6 August 2026 அன்று default branch-ன் head ecfddb451e97f6fc9a7e43ac33e4ef0e69933b33 ஆக இருந்தது. அந்த commit-ஐ checkout செய்து, backtests-ல் இருந்து நீங்கள் பெறும் எந்த முடிவுக்கும் அருகில் அதைப் பதிவு செய்யுங்கள். ஆறு வாரங்கள் கழித்து, “I ran the latest” என்று கூறுவது எந்தத் தகவலையும் வழங்காது.
ஆவணப்படுத்தப்பட்ட தொடக்க நடைமுறை இரண்டு வரிகளைக் கொண்டது: example environment file-ஐ .env-க்கு நகலெடுக்கவும்; பின்னர் docker compose up --build-ஐ இயக்கவும். இது panel-ஐ port 3018-ல் வழங்கும். இவை அந்த commit-ல் maintainer வழங்கிய instructions மட்டுமே; சோதிக்கப்பட்ட நடைமுறை அல்ல. Build, images-ஐ download செய்யும். மேலும், இந்தப் பக்கம் அதைச் சோதிக்காத network access தேவைப்படுகிறது. Development route-க்கு (./dev.sh, அல்லது Windows-ல் .\dev.ps1) Python 3.11 அல்லது அதற்குப் பிந்தைய பதிப்பு, Node 20 அல்லது அதற்குப் பிந்தைய பதிப்பு, மற்றும் uv, pnpm package managers தேவை.
LLM strategy அம்சம் எதை அனுப்புகிறது, எங்கு அனுப்புகிறது
Strategy generation, single-stock commentary மற்றும் review write-up ஆகியவை விருப்பத் தேர்வுகள். AI_API_KEY-ஐ காலியாக விட்டால், முழு அம்சத் தொகுப்பும் செயலிழந்திருக்கும். அதை நிரப்பினால் AI_PROVIDER (OpenAI-compatible endpoint அல்லது Ollama), AI_BASE_URL, AI_MODEL மற்றும் AI_DAILY_TOKEN_BUDGET ஆகியவையும் அமைக்கப்படும். அன்றைய token allowance முழுமையாகப் பயன்படுத்தப்பட்டதும், இவை அழைப்புகளை நிறுத்தும்.
கோரிக்கை எந்தத் திசையில் செல்கிறது என்பது முக்கியம். உங்கள் prompt மற்றும் panel அதனுடன் இணைக்கும் context ஆகியவை, நீங்கள் அமைத்த endpoint-க்கு உங்கள் கணினியிலிருந்து வெளியேறும். Base URL-ஐ hosted API-க்கு சுட்டினால், கோரிக்கை அந்த நிறுவனத்திடம் செல்லும்; உங்கள் சொந்த network-இல் இயங்கும் runtime-க்கு சுட்டினால், அது உங்கள் network-க்குள்ளேயே இருக்கும். Panel-ஐ self-host செய்வது model-ஐ self-host செய்வதற்கு சமமல்ல. Keys திட்டத்தின் root-இல் உள்ள plaintext .env கோப்பில் சேமிக்கப்படும். குறைந்தது ஆறு எழுத்துகள் கொண்ட dashboard password பாதுகாப்புடன், settings page மூலமாகவும் அவற்றைத் திருத்தலாம். LLM உருவாக்கிய alpha factors குறித்த எங்கள் குறிப்பில், இயந்திரம் எழுதும் strategies எந்த இடங்களில் பொதுவாகத் தோல்வியடைகின்றன என்பதை விளக்கியுள்ளோம்.
Backtester வர்த்தகச் செலவுகளை மாதிரியாக்குகிறதா?
Backtester, T+1 handling, commissions, slippage மற்றும் stop-losses ஆகியவற்றை வழங்குவதாகக் குறிப்பிடுகிறது. ஆனால் அந்தத் தேர்வுகள் இருப்பது மட்டுமே, அவை அமைக்கப்பட்டுள்ளன என்பதைக் குறிக்காது. அச்சிடப்பட்ட closing price-ல் trades நிரப்பப்பட்டு, செலவுகள் zero-ஆக அமைக்கப்பட்ட backtest, வர்த்தகம் இலவசம் எனக் கூறுகிறது. அது உண்மையல்ல. Basis point என்பது one hundredth of one percent ஆகும். கீழுள்ள panel, 17 June 2026 அன்று, மதிய நேரத்தின் ஒரு மணி நேரத்தில், ஆறு US listings-களில் best bid மற்றும் best offer இடையிலான சராசரி இடைவெளியை bps-ல் அளவிடுகிறது.
ஒவ்வொரு எண்ணின் பின்னணியில் உள்ள துல்லியமான SQL
SELECT
ticker AS symbol,
round(avg(toFloat64(ask_price) - toFloat64(bid_price))
/ avg((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, 2) AS spread_bps
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'KO', 'F')
AND sip_timestamp >= toDateTime('2026-06-17 15:00:00', 'UTC')
AND sip_timestamp < toDateTime('2026-06-17 16:00:00', 'UTC')
AND bid_price > 0
AND ask_price > bid_price
GROUP BY ticker
ORDER BY spread_bpsPanel-இல் குறைந்தபட்ச இடைவெளியைக் கொண்ட SPY, அந்த ஒரு மணி நேரத்தில் சராசரியாக 0.29 bps-ல் quote செய்யப்பட்டது. அதிகபட்ச இடைவெளியைக் கொண்ட F, 6.98 bps-ல் quote செய்யப்பட்டது. சந்தையில் நுழைய ஒருமுறை, வெளியேற ஒருமுறை என அந்த இடைவெளியை இரண்டு முறை கடக்க வேண்டும். ஆகவே commissions-க்கு முன்பே, round trip செலவு காட்டப்பட்ட எண்ணிக்கையின் சுமார் இருமடங்காகும்.
பெயரிடுவதைப் போலவே timing-க்கும் செலவு உண்டு. அடுத்த panel, அந்த listings-களில் ஒன்றை எடுத்துக்கொண்டு, ஒரே நிமிடத்துக்குள் அதன் விலை எவ்வளவு தூரம் நகர்ந்தது என்பதை அளவிடுகிறது. இது அதே நாளில் அரைமணி நேர buckets-ஆக சராசரியாக்கப்பட்டுள்ளது.
ஒவ்வொரு எண்ணின் பின்னணியில் உள்ள துல்லியமான SQL
SELECT
formatDateTime(
toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE),
'%H:%i') AS et_time,
round(avg((toFloat64(high) - toFloat64(low)) / toFloat64(close)) * 10000, 1) AS range_bps
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'KO'
AND window_start >= toDateTime('2026-06-17 12:00:00', 'UTC')
AND window_start < toDateTime('2026-06-17 21:00:00', 'UTC')
AND volume > 0
AND close > 0
GROUP BY et_time
ORDER BY et_timePanel, regular session தொடங்குவதற்கு முன் 08:00-ல் ஆரம்பிக்கிறது. அப்போது average minute bar 0 bps அளவிலான price movement-ஐக் காட்டியது: வர்த்தகம் நடைபெற்ற நிமிடங்கள் அனைத்தும் ஒரே விலையில் இருந்தன. இறுதி bucket-ஆன 16:30, market close-க்கு பிந்தைய நேரத்தைச் சேர்ந்தது; அதன் சராசரி 4.2 bps. Backtest, இந்த ஒவ்வொரு range-இலிருந்தும் ஒரு புள்ளியைத் தேர்ந்தெடுத்து, அதையே fill price எனக் கருதுகிறது. Endpoints-ஐ மட்டும் பார்க்காமல் curve-ஐப் பாருங்கள்: இதே assumption சில மணிநேரங்களில் சாதகமாகவும், பிற மணிநேரங்களில் கடுமையானதாகவும் அமைகிறது. A-share விதிகள் தனியான கட்டுப்பாடுகளைச் சேர்க்கின்றன. T+1 காரணமாக இன்று வாங்கிய shares-ஐ அடுத்த session வரை விற்க முடியாது. Daily price limits, மாதிரியில் கணிக்கப்பட்ட exit முற்றிலும் சாத்தியமற்றதாகவும் மாற்றலாம். எங்கள் மீண்டும் உருவாக்கக்கூடிய backtest பற்றிய வழிகாட்டி, நம்பகமான setup எதைப் பதிவு செய்ய வேண்டும் என்பதைக் காட்டுகிறது. Look-ahead bias, வெளிப்படையாகச் சீராகத் தோன்றும் curve எந்த மற்ற வழியில் தவறாகலாம் என்பதை விளக்குகிறது.
Adjusted அல்லது unadjusted: தரவின் மூலத் தொடர்ச்சி குறித்த கேள்வி
Corporate actions நடைபெறும் இடங்களில்தான் screener அமைதியாகத் தவறான தகவலைத் தரக்கூடும். ஒரு பங்கு பத்துக்கு ஒன்று என்ற விகிதத்தில் split ஆனால், அந்த நாளில் யாரும் ஒரு சென்ட்கூட இழக்காமல் 90% சரிவு பதிவாகலாம். 1 January முதல் 13 August 2026 வரை US listings-ல் இடம்பெற்ற மிகப்பெரிய twelve forward splits-ஐ கீழுள்ள panel பட்டியலிடுகிறது.
ஒவ்வொரு எண்ணின் பின்னணியில் உள்ள துல்லியமான SQL
SELECT
ticker AS symbol,
formatDateTime(execution_date, '%b %e, %Y') AS effective_on,
round(any(toFloat64(split_to)) / any(toFloat64(split_from)), 2) AS shares_after_per_share
FROM global_markets.stocks_splits
WHERE execution_date >= toDate('2026-01-01')
AND execution_date <= toDate('2026-08-13')
AND split_from > 0
AND split_to > split_from
AND ticker NOT IN ('SPCX')
GROUP BY ticker, execution_date
ORDER BY shares_after_per_share DESC, execution_date DESC
LIMIT 12மிகப்பெரிய split, ஒரு பங்கை 10000 பங்குகளாகப் பிரிக்கிறது; இது Feb 10, 2026 முதல் அமலுக்கு வருகிறது. இத்தகைய விகிதங்கள் வழக்கமான four-for-one split அல்ல; corporate-action feed, முழு வரம்பையும் ஒரே column-ல் வழங்குகிறது. இந்த twelve split-களில் மிகச்சிறியதும் ஒரு பங்கை 20 பங்குகளாக மாற்றுகிறது. இதனால் unadjusted chart-ல் அது கடுமையான சரிவாகத் தோன்றும். Raw prices-ஐப் படிக்கும் momentum screen, இவற்றில் ஒவ்வொன்றையும் crash எனக் குறிக்கிறது. Chinese feeds-லும்கூட இதே பிரச்சினை வேறு சொற்களுடன் காணப்படுகிறது; ஒவ்வொரு series-க்கும் unadjusted, forward-adjusted மற்றும் back-adjusted என மூன்று variants வழங்கப்படுகின்றன. உங்கள் panel எந்த variant-ஐ ஏற்றியுள்ளது என்பதைத் தெரிந்துகொள்ளுங்கள். Split-adjusted price history கணக்கீட்டை விளக்குகிறது.
இத்தகைய அமைப்பை நீங்களே self-host செய்வதற்கு முன் சரிபார்க்க வேண்டியவை
- Data provenance. எந்த vendor-இலிருந்து தரவு பெறப்படுகிறது, அதற்கான licence என்ன, மேலும் நீங்கள் செய்ய நினைப்பதற்கு free tier போதுமானதா என்பதைக் கண்டறியுங்கள்.
- Key handling. API keys disk-ல் எந்த இடத்தில் சேமிக்கப்படுகின்றன, settings page-ஐ யார் அணுக முடியும், மேலும் அந்த machine உங்கள் சொந்த network-க்கு அப்பால் வெளிப்படுகிறதா என்பதைக் கவனியுங்கள்.
- Cost modelling. Backtester commissions, slippage மற்றும் சந்தையின் சொந்த விதிகளை கணக்கில் எடுத்துக்கொள்கிறதா என்பதையும், அவற்றை நீங்கள் மாற்றாமல் விட்டால் அந்த fields-ல் என்ன மதிப்புகள் பயன்படுத்தப்படுகின்றன என்பதையும் சரிபார்க்கவும்.
- The update path. நீங்கள் deploy செய்த exact commit-ஐ உங்கள் results-க்கு அருகில் பதிவு செய்யுங்கள்; இதனால் பல மாதங்களுக்குப் பிறகும் அதை மீண்டும் உருவாக்க முடியும்.
அடிக்கடி கேட்கப்படும் கேள்விகள்
Self-hosted A-share quant workbench-ஐ இயக்குவது இலவசமா?
Code MIT உரிமத்தின் கீழ் வெளியிடப்பட்டுள்ளது; அதை இலவசமாகப் பயன்படுத்தலாம். Data என்பது தனித்த கேள்வி. Vendor key காலியாக விடப்பட்டால், இந்தத் திட்டம் இலவச historical daily bars-ஐப் பயன்படுத்தும். தற்போதைய session, சந்தை முடிந்த one to two hours கழித்தே கிடைக்கும். இதைவிட வேகமான அல்லது ஆழமான data, vendor-ன் paid tiers வழியாக மட்டுமே கிடைக்கும்.
இங்கு self-hosted என்பதன் உண்மையான பொருள் என்ன?
Web page, scheduler, சேமிக்கப்பட்ட files மற்றும் backtester ஆகியவை அனைத்தும் உங்கள் சொந்த machine அல்லது server-ல் இயங்கும். வேறு ஒருவரின் platform-ல் account தேவையில்லை. ஆனால் data உங்களுக்குச் சொந்தமானது என்று இதற்கு அர்த்தமில்லை. நீங்கள் உங்கள் சொந்த network-ல் உள்ள model-ஐக் குறிப்பிடாவிட்டால், optional AI features remote-ஆகவே இயங்கும்.
LLM feature எனது data-ஐ third party-க்கு அனுப்புமா?
அதை இயக்கியிருந்தால், ஆம். நீங்கள் அமைத்திருக்கும் OpenAI-compatible endpoint-க்கே data அனுப்பப்படும். இந்த feature இயல்பாக disabled நிலையில் வருகிறது. AI key காலியாக இருந்தால், எதுவும் machine-ஐ விட்டு வெளியே செல்லாது.
Version tag-க்குப் பதிலாக commit SHA-ஐ ஏன் pin செய்ய வேண்டும்?
13 August 2026 நிலவரப்படி, இந்த repository-க்கு published releases அல்லது release notes எதுவும் இல்லை. மேலும், அதன் newest tag, default branch-ஐவிடப் பழைய code-ஐக் குறிப்பிட்டிருந்தது. அப்போது “Latest” என்பது நீங்கள் clone செய்த நாளில் branch-ல் இருந்த எதையும் குறிக்கலாம். ஆனால் commit SHA துல்லியமானது. இதே ஒழுக்கம் open-source quant trading material முழுவதற்கும் பொருந்தும்: நீங்கள் இயக்கியதை pin செய்யுங்கள்.
சரிபார்ப்புக் குறிப்புகள்
மேலே கூறப்பட்ட architecture மற்றும் configuration விவரங்கள் அனைத்தும் 13 August 2026 அன்று, default branch-ன் head-ஆக இருந்த commit ecfddb451e97f6fc9a7e43ac33e4ef0e69933b33-இல் உள்ள public repository-யிலிருந்து வாசிக்கப்பட்டவை. அந்த commit 6 August 2026 அன்று உருவாக்கப்பட்டது. Releases page-ல் எதுவும் பட்டியலிடப்படவில்லை. Tag list-ல் v0.1.31 முதல் v0.1.88 வரை 31 version tags இருந்தன. அவற்றில் newest tag, 31 July 2026 தேதியிட்ட commit-ஐக் குறிப்பிட்டது. மேற்கோள் காட்டப்பட்ட வரிகள் maintainer-ன் சொந்த வரிகள். அவை paraphrase செய்யப்படாமல் README-யிலிருந்து நகலெடுக்கப்பட்டவை. Container start command-மும் அந்த README-யிலிருந்து மேற்கோள் காட்டப்பட்டது; அது இங்கு இயக்கப்படவில்லை.
Market panels, US listings-ஐக் காட்டுகின்றன. Figures மாற்றமின்றி இருக்க, அவை கடந்த காலத்தின் குறிப்பிட்ட dates-க்கு pin செய்யப்பட்டுள்ளன. இவை Chinese market-ஐ விவரிப்பதற்காக அல்ல. எந்த market-க்கும் பொருந்தும் இரண்டு சோதனைகள்—execution cost மற்றும் corporate-action adjustment—ஆகியவற்றை விளக்குவதற்காக இவை சேர்க்கப்பட்டுள்ளன.
இங்குள்ள ஒவ்வொரு panel-உடனும் அதை உருவாக்கிய SQL வழங்கப்பட்டுள்ளது. அதை கீழே விரிவுபடுத்திப் பார்க்கலாம். Screener-ல் பயன்படுத்துவதற்கு முன், உங்கள் சொந்த names பட்டியலில் அதே spread check-ஐ இயக்க வேண்டுமெனில், Strasmore terminal-ல் plain English-ல் கேளுங்கள்.