MiminoChange
Telegram-բոտ փոխանակման կետի համար. հավաքում է փոխարժեքները հինգ ֆինանսական հարթակից, հաշվարկում արբիտրաժային շղթաները և հրապարակում սպրեդներն ալիքում։ Աշխատել է երկու տարի։
Տեխնոլոգիաներ
- Python
- aiogram
- SQLite
Խնդիրը
Շղթաները գտնում էին ձեռքով. աշխատակիցները շրջում էին վճարային համակարգերի և բորսաների կայքերով, համեմատում փոխարժեքները և հաշվում սպրեդը յուրաքանչյուր ուղղության համար։ Փոխարժեքները փոխվում էին, և ամեն ինչ պետք էր կրկնել նորից, ուստի հաշվարկները շատ ժամանակ էին խլում։
Լուծումը
Բոտը հավաքում է վճարային համակարգերի և բորսաների փոխարժեքները, հաշվում դրանցով սպրեդները և հրապարակում ամփոփումը Telegram-ալիքում։ Առանձին սցենարը հաշվարկում է արբիտրաժը կոնկրետ գումարի և բանկի համար։ Փոխանակման կետի սեփական փոխարժեքները հաշվարկվում են բանաձևով, բայց աշխատակիցները կարող են դրանք ձեռքով շտկել ադմինիստրատորի վահանակից, երբ փաստացի պահանջարկն ու առաջարկը պահանջում են շեղվել հաշվարկային փոխարժեքից։
Հիմնական տեխնիկական որոշումները
- Հարթակների մի մասը API չուներ, ուստի փոխարժեքները պետք էր վերցնել էջերից։ Դասավորությունը պարբերաբար փոխվում էր, ուստի արժեքի որոնումը կապված չէ մեկ CSS-սելեկտորի հետ և դիմանում է այդ փոփոխություններին։
- Աղբյուրները տարբերվում են տվյալների ձևաչափով և թարմացման հաճախականությամբ, իսկ դրանցից մի քանիսը երբեմն անհասանելի են լինում։ Փոխարժեքները բերվում են միասնական տեսքի հաշվարկից առաջ, այլապես սպրեդը կհաշվվեր անհամեմատելի թվերով։
Ստորև ներկայացված սքրինշոթներն ու տեսանյութերը վերցված են աշխատող համակարգից, ուստի ինտերֆեյսը և ձայնը (եթե կա) ռուսերեն են։
Փոխանակման կետի համար մշակված բոտը հետևում է ընթացիկ փոխարժեքներին և հաշվարկում սպրեդներն արբիտրաժային գործարքների համար։ Տվյալները ստանում է մի քանի ֆինանսական հարթակների հետ ինտեգրումների միջոցով, հաշվարկում է շղթաները տրված գումարի և բանկերի համար, ինչպես նաև ավտոմատ հրապարակում է սպրեդների մասին տեղեկությունը փոխանակման կետի Telegram-ալիքում։ Փոխարժեքները կարելի է ձեռքով խմբագրել ադմինիստրատորի վահանակից։
Ընդհանուր սպրեդ
«Սպրեդ» բաժնում բոտը հավաքում է շահավետ շղթաներում ներգրավված բոլոր ծառայությունների ընթացիկ փոխարժեքները՝ ֆինանսական հարթակների հետ ինտեգրումների միջոցով՝ Binance, Garantex, MOEX, Golden Crown (Zolotaya Korona) և Unistream։ Որոշ երկրներում փոխանցումը հասանելի չէ բոլոր ծառայություններով։ Անհասանելի տարբերակները բոտն առանձին նշում է (սքրինշոթում՝ Հայաստանի օրինակը)։

Սպրեդ կոնկրետ գումարի համար
Առանձին կոճակը հաշվարկում է արբիտրաժը կոնկրետ գումարի համար՝ Վրաստանի ուղղությամբ։ Գումարը մուտքագրելուց հետո բոտն առաջարկում է ընտրել մեկ բանկ կամ միանգամից բոլորը (Sberbank, Tinkoff, Raiffeisen) և ըստ շղթայի ցույց է տալիս զուտ շահույթը ռուբլով և տոկոսով՝ ուղարկման յուրաքանչյուր տարբերակի համար (Unistream և Golden Crown)։ Կարճ ամփոփումը կարելի է բացել մանրամասն տեսքով կամ թաքցնել։

Փոխանակման կետի փոխարժեքի փոփոխում
Վաճառքի և գնման փոխարժեքները բոտը հաշվարկում է ավտոմատ՝ տրված բանաձևով, բայց դրանք կարելի է ձեռքով խմբագրել ադմինիստրատորի վահանակից։

Արդյունքներ
- Բոտն աշխատել է երկու տարի՝ քանի դեռ ուղղությունը մնում էր առևտրային առումով արդիական։
- Բոտից և ընդհանուր ալիքում հրապարակվող հաշվարկներից օգտվում էին փոխանակման կետի աշխատակիցներն ու հաճախորդները, ինչպես նաև այլ փոխանակման կետերի ներկայացուցիչները։