FMEX mengoptimumkan pengaturcaraan

Penulis:Rumput, Dicipta: 2020-07-03 09:30:03, Dikemas kini: 2023-09-28 21:11:27

img

FMEX telah gagal, tetapi baru-baru ini mengeluarkan rancangan untuk memulakan semula dan menetapkan peraturan yang serupa dengan perlombongan semula untuk melunaskan hutang.https://www.fmz.com/bbs-topic/5834Walaupun seseorang tidak boleh memasuki lubang yang sama dua kali, tetapi mereka yang mempunyai hutang di FMEX boleh merujuk kepada strategi rak sebenar yang dapat dijalankan di platform kuantiti FMZ.

FMEX peraturan pembukaan susunan

Ditakrifkan sebagai satu kitaran pembukaan susunan setiap 5 minit dalam sehari, dengan setiap kitaran memperuntukkan transaksi kepada 1/288 daripada margin pembukaan susunan pada hari itu. Dalam setiap kitaran, pilih secara rawak satu titik masa dan buat gambaran ringkas mengenai keadaan pesanan piring yang ditagih, di mana:

  • Beli 1 Sebarkan 1/4 daripada jumlah pulangan kitaran pembukaan yang disusun mengikut peratusan jumlah pesanan pengguna
  • Jual 1 Peratusan jumlah pesanan pengguna yang disumbangkan untuk 1/4 daripada jumlah pulangan kitaran pembukaan yang disusun
  • Beli 2 hingga beli 5 dari 4 kategori ini, dengan menggunakan peratusan jumlah pendahuluan dalam setiap 1 kategori untuk membahagikan 1 / 40 dari jumlah pulangan untuk kitaran pembukaan.
  • Jual 2 hingga Jual 5 senarai tanggungan 4 kategori ini, berdasarkan peratusan jumlah senarai tanggungan pengguna dalam setiap 1 kategori, dengan pembahagian 1/40 dari margin pulangan kitaran pembukaan susunan ini
  • Membeli 6 hingga membeli 10 daripada 5 senarai yang diunggah, dengan menggunakan peratusan jumlah senarai yang diunggah dalam setiap satu senarai, dengan pembahagian 1/50 dari jumlah pulangan kitaran pembukaan susunan ini
  • Menjual 6 hingga menjual 10 daripada 5 senarai tanggungan ini, dengan menggunakan peratusan jumlah senarai tanggungan dalam setiap satu senarai, dengan pembahagian 1/50 dari jumlah pulangan kitaran pembukaan susunan ini
  • Beli 11 hingga beli 15 daripada 5 senarai yang diunggah, dengan menggunakan peratusan jumlah senarai yang diunggah dalam setiap satu senarai yang dibagikan secara berasingan untuk menghidupkan semula peredaran yang disusun
  • Menjual 11 hingga menjual 15 daripada 5 senarai tanggungan ini, dengan menggunakan peratusan jumlah senarai tanggungan dalam setiap satu senarai, yang membahagikan setiap satu daripada 100 jumlah pulangan dalam kitaran pembukaan.

Pengembalian keseluruhan pengguna pada hari itu untuk membuka urutan dalam pasangan dagangan adalah jumlah pengembalian kepada pengguna untuk setiap pembukaan urutan dalam tempoh dagangan tersebut.

Pengaturcaraan membuka keuntungan

Hasil keseluruhan untuk membuka kunci yang pertama adalah:

img

Di mana i menunjukkan salah satu daripada 30 kedudukan di kedua-dua belah pihak, a adalah jumlah pesanan, R adalah jumlah pengembalian balik yang dibuka, dan V adalah jumlah pesanan yang sudah ada.

Tidak seperti pembukaan urus niaga, orderan tidak mempunyai kos, di mana R hanya mempertimbangkan saiz relatif dan boleh dilakukan tanpa mengambil kira jumlah mutlak harga USDT. Jika kita memutuskan jumlah pesanan yang dipungut, masalahnya menjadi bagaimana untuk mengalokasikan pesanan ke lokasi yang berbeza untuk memaksimumkan pendapatan G. Mengambil contoh, terdapat tiga lokasi yang mempunyai jumlah pesanan yang dipungut 10, semua R yang sama, kami menetapkan jumlah pesanan yang dipungut adalah 30, jika hanya memilih satu senarai, jumlah pendapatan akhir adalah 0.75R, jika setiap kedudukan dipungut 10, pendapatan akhir adalah 1.5R, kadang-kadang dapat menyebarkan pendapatan yang dipungut lebih mudah. Jadi bagaimana untuk mendistribusikan dana?

Pengoptimuman penguncian susunan

Pada akhirnya, matlamat dan syarat pengoptimuman kami ialah:

img

di mana M adalah jumlah tunggal yang terpenting. Ini adalah masalah pengoptimuman kompak kedua yang mengandungi persamaan yang tidak, memenuhi syarat KTT, dan diselesaikan sebagai bilangan bulat. Menggunakan pemberi penyelesaian yang sesuai dan pengoptimuman kompak seharusnya dapat menghasilkan hasil secara langsung, mengembalikan jumlah tunggal yang paling baik untuk setiap kedudukan. Tetapi ini jelas bukan jawapan yang kita mahukan, kita perlu menyederhanakan masalah dan mendapatkan langkah penyelesaian tertentu.

Mari kita mulakan dengan contoh yang mudah.

Hanya mempertimbangkan keadaan dua baris, jumlah pesanan yang dihubungkan pada masa ini masing-masing 10, 20 ((secara berasingan disebut sebagai baris pertama, baris kedua), jumlah pembukaan mereka adalah R, jumlah pesanan yang dihubungkan secara strategik adalah 30, bagaimana untuk mengalokasikan dana untuk memaksimumkan had pembukaan?

Pilihan 1:

Cari kedudukan yang paling kecil, semua digantung, dan jumlah keuntungan G = 30/ ((30 + 10) = 0.75R. Ini juga merupakan penyelesaian yang paling mudah.

Pilihan 2:

Setiap kali dianugerahkan 1 yuan, dan dianugerahkan kepada tempat yang menghasilkan keuntungan terbesar, iaitu lokasi unit yang paling kecil. Kemudian unit pertama akan dianugerahkan kepada baris pertama, jumlah unit yang pertama menjadi 10 + 1, dan yuan kedua juga dianugerahkan kepada baris pertama... dan seterusnya, sehingga pengiraan keseluruhan kepada baris pertama 10 yuan, pada masa ini anda boleh memilih secara rawak, apabila senarai besar baris pertama melebihi 20, kemudian dianugerahkan kepada baris kedua. Hasil akhirnya untuk baris pertama dianugerahkan 20 yuan, baris kedua dianugerahkan 10 yuan, mereka semua mendapat daftar besar akhir 30. Jumlah keseluruhan G = 20/30 + 10/30 = R.

Pilihan 3:

Anda boleh menetapkan pembahagian baris pertama sebagai a, baris kedua sebagai 30 - a, dan anda boleh menyenaraikan persamaan yang dicari secara langsung sebagai 0 (proses tidak disenaraikan, seperti artikel yang membuka transaksi), dan mengira hasil akhir, formula adalah:img

Mengambil mencari bulat a = 15; pendapatan keseluruhan G = 15 / 25 + 15 / 35 = 1.0286R, lebih baik daripada kaedah 2, kerana ia diperoleh secara langsung dari formula, ini adalah kaedah yang terbaik, pembaca boleh menyemak semula.

Hasilnya mungkin berbeza daripada yang diharapkan, Skim 2 menjelaskan bahawa peruntukan setiap unit adalah yang terbaik dalam keadaan semasa, tetapi bukan yang terbaik secara keseluruhan. Keadaan ini sering berlaku, yang terbaik secara tempatan tidak semestinya yang terbaik secara keseluruhan, kerana jumlah pesanan yang ada sudah ada dana yang dimasukkan sebelum peruntukan, kecekapan keseluruhan perlu dipertimbangkan.

Pelan optimum khusus

Akhirnya, operasi yang boleh dilaksanakan telah dimulakan, atau untuk mempermudah masalah dengan mengalokasikan 1 yuan untuk setiap peruntukan. Pertama, kita mengukur kecekapan, menggunakan derivatif yang dapat mencerminkan setiap sumbangan a untuk G, yang mempertimbangkan kos kumulatif, dan bukan keuntungan yang diberikan secara tunggal. Nilai yang lebih besar menunjukkan sumbangan keseluruhan kepada manfaat akhir yang lebih besar, jelas, berdasarkan gambar fungsi, a = 1, dari ada hingga nol, kecekapan tertinggi, dan kemudian menurun secara beransur-ansur.

img

Sebagai contoh, contoh sederhana di atas, perbandingan kecekapan mereka selepas peruntukan dana, dengan senarai jadual:

Dana 1 2
1 0.0826 0.0454
2 0.069 0.0413
3 0.0592 0.0378
4 0.051 0.0347
5 0.0444 0.032

|12 | 0.0207 |0.0195| |13 | 0.0189 |0.0184| |14 | 0.0174 |0.0173| |15 | 0.016 |0.0163| |16 | 0.0148 |0.0154| |17 | 0.0137 |0.0146| |18 | 0.0128 |0.0139|

Menurut jadual, unit 1 dialokasikan kepada baris pertama, unit 2 dialokasikan kepada baris pertama... unit 5 dialokasikan kepada baris kedua... dan seterusnya, akhirnya dialokasikan kepada baris pertama 15 yuan, baris kedua 15 yuan, yang kebetulan adalah yang terbaik yang kita kira berdasarkan persamaan.

  • 1. Periksa semua jawatan terlebih dahulu, jika V = 0, maka a = 1, dana tambahan tidak lagi dialokasikan.
  • 2.将总资金分配为N份,每次选择一个挡位分配。
  • 3. Mengira kecekapan setiap jawatan = RV/pow ((a+V,2), a mewakili jumlah dana yang telah dialokasikan untuk jawatan itu + jumlah dana yang dialokasikan pada masa ini.
  • 4.将资金分配给效率最高的挡位,效率相同随机选一个。
  • 5. Kitaran 3-4 sehingga pembahagian dana selesai

Jika jumlah pesanan yang dihubungkan sangat besar, dan setiap yuran yang dihubungkan terlalu rendah, anda boleh membahagikan dana kepada 100 unit, setiap kali dihubungkan satu, kerana hanya urutan operasi yang mudah, kecekapan algoritma sangat tinggi. Khusus untuk tahap pelaksanaan, terdapat ruang untuk mengoptimumkan, seperti membahagikan pesanan anda kepada 100 unit, sehingga setiap kali penyesuaian, anda hanya perlu membahagikan semula pesanan, tidak perlu menghapuskan semuanya.

Ini adalah artikel asal untuk platform kuantiti FMZ, dan dipetik dari:https://www.fmz.com/bbs-topic-new/5843


Berkaitan

Lebih lanjut