Ta-lib-bollinger-band-example

Ta-lib-bollinger-band-example

Rbs-forex-trader
Pilihan periode-untuk-persediaan
Transfer-stock-options-to-a-trust


Broker top-3-biner-pilihan Bagaimana-i-trade-options-najarian Pokemon-trading-card-game-online-kosten Online-trading-td-ameritrade Newcastle-trading-post-online Stock-options-in-a-startup

Python Algorithmic Trading Library PyAlgoTrade adalah Python Algorithmic Trading Library dengan fokus pada backtesting dan dukungan untuk perdagangan kertas dan live-trading. Katakanlah Anda memiliki ide untuk strategi trading dan Anda ingin mengevaluasinya dengan data historis dan melihat bagaimana perilaku tersebut. PyAlgoTrade memungkinkan Anda melakukannya dengan sedikit usaha. Fitur utama Dikeluarkan sepenuhnya. Acara didorong Mendukung pesanan Market, Limit, Stop dan StopLimit. Mendukung file Yahoo Finance, Google Finance dan NinjaTrader CSV. Mendukung semua jenis data deret waktu dalam format CSV, misalnya Quandl. Dukungan perdagangan Bitcoin melalui Bitstamp. Indikator teknis dan filter seperti SMA, WMA, EMA, RSI, Bollinger Bands, Hurst eksponen dan lain-lain. Metrik kinerja seperti analisis rasio dan penarikan Sharpe. Menangani acara Twitter secara realtime. Profiler acara Integrasi TA-Lib. Sangat mudah untuk skala horizontal, yaitu menggunakan satu atau lebih komputer untuk mendukung strategi. PyAlgoTrade bebas, open source, dan dilisensikan di bawah Lisensi Apache, Versi 2.0. Catatan Akhir 8 September 2016 Perangkat Tambahan Menambahkan tabel pos pemeriksaan isi ulang untuk loader inti api. Hal ini memungkinkan loader untuk lebih efisien meneruskan mengisi data dengan membatasi tanggal yang lebih rendah yang harus dicari saat query data. Pos pemeriksaan harus memiliki delta baru yang diterapkan (1276). Diperbarui VagrantFile untuk menyertakan semua persyaratan dev dan menggunakan gambar yang lebih baru (1310). Izinkan korelasi dan regresi yang akan dihitung antara dua faktor 2D dengan melakukan penghitungan aset-bijaksana (1307). Filter telah dibuat windowsafe secara default. Sekarang mereka bisa dilewatkan sebagai argumen pada Filter, Faktor dan Klasifikasi lainnya (1338). Menambahkan parameter groupby opsional ke peringkat (). puncak(). Dan bawah (). (1349). Ditambahkan filter pipa baru, Semua dan Any. Yang mengambil filter dan pengembalian yang lain Benar jika aset menghasilkan True untuk setiap hari di windowlength days sebelumnya (1358). Ditambahkan filter pipa baru AtLeastN. Yang mengambil filter lain dan int N dan mengembalikan True jika sebuah aset menghasilkan True on N atau lebih hari di windowlength days sebelumnya (1367). Gunakan kalkulator perpustakaan eksternal untuk perhitungan risiko. Empiris menyatukan perhitungan metrik risiko antara pyfolio dan zipline. Empiris menambahkan pilihan anualisasi kustom untuk mengembalikan frekuensi khusus. (855) Tambahkan faktor Aroon. (1258) Tambahkan faktor osilator stochastic cepat. (1255) Tambahkan Dockerfile. (1254) Kalender perdagangan baru yang mendukung sesi yang berlangsung sepanjang malam, mis. 24 jam 6:01 PM-6:00PM sesi untuk perdagangan berjangka. Zipline.utils.tradingcalendar sekarang tidak berlaku lagi. (1138) (1312) Izinkan mengiris kolom tunggal dari FactorFilterClassifier. (1267) Sediakan faktor Ichimoku Cloud (1263) Izinkan parameter default pada istilah Pipeline. (1263) Memberikan tingkat perubahan persentase faktor. (1324) Memberikan faktor bobot bergerak tertimbang linear. (1325) Tambahkan NotNullFilter. (1345) Izinkan perubahan modal didefinisikan oleh nilai target. (1337) Tambahkan faktor TrueRange. (1348) Tambahkan pencarian waktu ke aset.db. (1361) Buat kantin tahu tentang pertukaran aset. (1346) Tambahkan metode undian ke semua persyaratan yang dapat dihitung. (1394) Tambahkan QuantopianUSFuturesCalendar. (1414) Aktifkan penerbitan versi asset.db lama. (1430) Aktifkan schedulefunction untuk kalender perdagangan Futures. (1442) Larang regresi dengan panjang 1. (1466) Percobaan Menambahkan dukungan untuk jendela sejarah Future and Equity yang akan datang, dan memungkinkan akses data Masa Depan lainnya melalui portal data. (1435) (1432) Perbaikan Bug Perubahan Faktor AverageDollarVolume built-in untuk mengobati nilai tutup atau volume yang hilang sebagai 0. Sebelumnya, NaNs hanya dibuang sebelum rata-rata, sehingga nilai sisanya terlalu banyak (1309). Hapus rasio bebas risiko dari perhitungan rasio sharpe. Rasio sekarang rata-rata pengembalian disesuaikan risiko atas pelanggaran pengembalian disesuaikan. (853) Sortino ratio akan mengembalikan perhitungan bukan np.nan bila tingkat pengembalian yang diminta sama dengan nol. Rasio ini sekarang mengembalikan rata-rata tingkat pengembalian yang disesuaikan risiko atas risiko penurunan. Fixed mislabeled API dengan mengubah mar menjadi downsiderisk. (747) Risiko kebelakang sekarang mengembalikan akar kuadrat rata-rata jatah perbedaan sisi bawah. (747) Rasio informasi diperbaharui dengan rata-rata pengembalian risiko yang disesuaikan dengan standar deviasi pengembalian disesuaikan risiko. (1322) Rasio alfa dan sharpe sekarang disetahunkan. (1322) Memperbaiki unit saat membaca dan menulis atribut firsttradingday bar pertama. (1245) Modul pengiriman opsional, bila hilang, tidak lagi menyebabkan NameError. (1246) Perlakukan argumen schedulefunction sebagai aturan waktu bila aturan waktu, namun tidak ada aturan tanggal yang diberikan. (1221) Melindungi terhadap kondisi batas pada awal dan akhir hari perdagangan dalam fungsi jadwal. (1226) Terapkan penyesuaian pada hari sebelumnya bila menggunakan riwayat dengan frekuensi 1d. (1256) Gagal cepat pada kolom pipa tidak benar, alih-alih mencoba mengakses kolom yang tidak ada. (1280) Perbaiki penanganan CaNN AverageDollarVolume. (1309) Peningkatan kinerja blaze core loader. (1227) Izinkan kuncian api bersamaan. (1323) Mencegah hilangnya data bcolz menit terdahulu dari melakukan pencarian berulang kali yang tidak perlu. (1451) Cache pencarian rantai masa depan. (1455) Pemeliharaan dan Refactorings Dihapus sisa menyebutkan addhistory. (1287) Dokumentasi Tambahkan perlengkapan uji yang menghasilkan data harga harian dari perlengkapan data harga menit. (1243) Format Data Perubahan BcolzDailyBarReader dan BcolzDailyBarWriter menggunakan contoh kalender perdagangan, bukan hari dagang yang disambung ke JSON. (1330) Mengubah format aset.db untuk mendukung pencarian dalam waktu tertentu. (1361) Ubah BcolzMinuteBarReader dan BcolzMinuteBarWriter untuk mendukung berbagai ukuran kutu. (1428) Versi 1.0.1 Ini adalah rilis bug fix minor dari 1.0.0 dan mencakup sejumlah kecil perbaikan bug dan perbaikan dokumentasi. Enhancements Menambahkan dukungan untuk model komisi yang ditentukan pengguna. Lihat kelas zipline.financemissionmissionModel untuk rincian lebih lanjut tentang penerapan model komisioning. (1213) Menambahkan dukungan untuk kolom non-float ke dataset Pipeline yang didukung Blaze (1201). Ditambahkan zipline.pipeline.slice.Slice. Istilah pipa baru yang dirancang untuk mengekstrak satu kolom dari istilah lain. Irisan dapat dibuat dengan cara mengindeks ke dalam sebuah istilah, dikodekan oleh aset. (1267) Perbaikan Bug Memperbaiki bug di mana pemuat pipa tidak diinisialisasi dengan benar oleh zipline.runalgorithm (). Hal ini juga mempengaruhi seruan zipline yang dijalankan dari CLI. Memperbaiki bug yang menyebabkan sel saraf zipline IPython gagal (533233fae43c7ff74abfb0044f046978817cb4e4). Memperbaiki bug dalam model komisi PerTrade dimana komisi salah diterapkan pada setiap pengisian parsial pesanan dan bukan pada pesanan itu sendiri, sehingga algoritma dibebankan terlalu banyak dalam komisi saat menempatkan pesanan besar. PerTrade sekarang menerapkan komisi secara per-order secara benar (1213). Akses atribut pada CustomFactor yang menentukan beberapa keluaran sekarang akan mengembalikan irisan output dengan benar saat output juga merupakan nama metode Factor (1214). Menggantikan penggunaan pandas.io.data yang tidak berlaku lagi dengan pandasdatareader (1218). Memperbaiki masalah di mana file berhala .pyi untuk zipline.api secara tidak sengaja dikecualikan dari distribusi sumber PyPI. Pengguna Conda seharusnya tidak terpengaruh (1230). Dokumentasi Menambahkan contoh baru, zipline.examples.momentumpipeline. Yang melatih Pipeline API (1230). Highlight Zipline 1.0 Rewrite (1105) Kami telah menulis ulang banyak Zipline dan konsep dasarnya untuk meningkatkan kinerja runtime. Pada saat bersamaan, kami memperkenalkan beberapa API baru. Pada tingkat tinggi, versi sebelumnya dari simulasi Zipline ditarik dari sumber data multiplexing, yang digabungkan melalui heapq. Aliran ini diumpankan ke loop simulasi utama, menggerakkan jam ke depan. Ketergantungan yang kuat pada membaca semua data membuat sulit untuk mengoptimalkan kinerja simulasi karena tidak ada hubungan antara jumlah data yang kita isi dan jumlah data yang sebenarnya digunakan oleh algoritma. Sekarang, kita hanya mengambil data saat algoritma membutuhkannya. Kelas baru, DataPortal. Mengirimkan permintaan data ke berbagai sumber data dan mengembalikan nilai yang diminta. Hal ini membuat runtime skala simulasi lebih dekat dengan kompleksitas algoritma, bukan dengan jumlah aset yang disediakan oleh sumber data. Alih-alih arus data yang menggerakkan jam, sekarang simak iterasi melalui rangkaian cap waktu hari atau menit yang telah dihitung sebelumnya. Cap waktu dipancarkan oleh MinuteSimulationClock dan DailySimulationClock. Dan dikonsumsi oleh lingkaran utama dalam transformasi (). Kami memasangkan API dataid (N) dan sejarah, menggantinya dengan beberapa metode pada objek BarData: current (). sejarah(). Kriket (). Dan isstale (). API lama akan terus bekerja untuk saat ini, namun akan mengeluarkan peringatan yang tidak berlaku lagi. Anda sekarang dapat mengirimkan sumber penyesuaian ke DataPortal. Dan kami akan menerapkan penyesuaian pada data harga saat melihat ke belakang pada data. Harga dan volume untuk eksekusi dan disajikan ke algoritma dalam data. Saat ini adalah nilai aset yang diperdagangkan. New Entry Points (1173 dan 1178) Agar lebih mudah menggunakan zipline, kami telah memperbarui titik masuk untuk backtest. Tiga cara yang didukung untuk menjalankan backtest sekarang: zipline.runalgo () zipline running zipline (sihir IPython) Kumpulan Data (1173 dan 1178) 1.0.0 mengenalkan kumpulan data. Kumpulan data adalah kelompok data yang harus dimuat dan digunakan untuk menjalankan backtests nanti. Hal ini memungkinkan pengguna untuk tidak perlu menentukan tickers mana yang mereka minati setiap kali menjalankan algoritma. Ini juga memungkinkan kita untuk menyimpan data antar jalan. Secara default, bundel quantopian-quandl akan digunakan yang menarik data dari cermin Quantopian8217 dari dataset WIKI quandl. Bundel baru dapat didaftarkan dengan zipline.data.bundles.register () seperti: Fungsi ini harus mengambil data yang dibutuhkannya dan kemudian menggunakan penulis yang telah lulus untuk menulis data tersebut ke cakram di lokasi yang dapat ditemukan zipline nanti. Data ini dapat digunakan dalam backtests dengan melewatkan nama sebagai argumen -b --bundle ke zipline run atau sebagai argumen bundle ke zipline.runalgorithm (). Untuk informasi lebih lanjut, lihat Kumpulan Data untuk informasi lebih lanjut. Dukungan String di Pipeline (1174) Menambahkan dukungan untuk data string di Pipeline. Zipline.pipeline.data.Column sekarang menerima objek sebagai dtype, yang menandakan bahwa pemuat untuk kolom tersebut harus memancarkan iterator berjendela melewati kelas LabelArray yang baru. Beberapa metode Classifier baru juga telah ditambahkan untuk membangun contoh Filter berdasarkan operasi string. Metode baru adalah: elementof didefinisikan untuk semua classifier. Metode yang tersisa hanya didefinisikan untuk pengkodean string-dtype. Perangkat tambahan Membuat kelas pemuatan data memiliki antarmuka yang lebih konsisten. Ini termasuk penulis bar ekuitas, penulis penyesuaian, dan penulis aset db. Antarmuka baru adalah bahwa sumber daya yang akan ditulis dikirimkan pada waktu konstruksi dan data yang akan ditulis diberikan kemudian ke metode penulisan sebagai dataframes atau beberapa iterator dataframes. Model ini memungkinkan kita untuk melewati objek penulis ini sekitar sebagai sumber daya untuk kelas dan fungsi lain untuk dikonsumsi (1109 dan 1149). Ditambahkan masking ke zipline.pipeline.CustomFactor. Faktor kustom sekarang dapat melewati Filter berdasarkan instantiasi. Ini memberitahu faktor untuk hanya menghitung lebih dari saham dimana filter mengembalikan True, daripada selalu menghitung seluruh jagad saham. (1095) Ditambahkan zipline.utils.cache.ExpiringCache. Cache yang membungkus entri dalam zipline.utils.cache.CachedObject. Yang mengelola kadaluarsa entri berdasarkan dt yang disertakan pada metode get. (1130) Melaksanakan zipline.pipeline.factors.RecarrayField. Istilah pipa baru yang dirancang untuk menjadi tipe keluaran CustomFactor dengan beberapa keluaran. (1119) Menambahkan parameter output opsional ke zipline.pipeline.CustomFactor. Faktor kustom sekarang mampu menghitung dan mengembalikan beberapa keluaran, yang masing-masing merupakan Faktor. (1119) Menambahkan dukungan untuk kolom pipa string-dtype. Loader untuk kolom thse harus menghasilkan contoh zipline.lib.labelarray.LabelArray saat dilalui. Terbaru () pada kolom string menghasilkan string-dtype zipline.pipeline.Classifier. (1174) Menambahkan beberapa metode untuk mengubah Classifiers menjadi Filter. Metode baru adalah: - elementof () - beginswith () - endswith () - hassubstring () - match () elementof didefinisikan untuk semua classifier. Metode yang tersisa hanya ditentukan untuk string. (1174) Fetcher telah dipindahkan dari kode internal Quantopian ke Zipline (1105). Fitur Eksperimental Fitur eksperimental dapat berubah sewaktu-waktu. Menambahkan kelas zipline.lib.labelarray.LabelArray baru untuk mewakili dan menghitung secara efisien pada data string dengan numpy. Kelas ini secara konseptual mirip dengan panda. Kategori. Dalam hal itu merupakan array string sebagai array dari indeks ke dalam array (lebih kecil) dari nilai string yang unik. (1174) Perbaikan Bug Ikhtisar Menambahkan dataset EarningsCalendar baru untuk digunakan dalam Pipeline API. (905). Pemanggil AssetFinder (830 dan 817). Dukungan yang lebih baik untuk dtype non-float di Pipeline. Yang paling menonjol, sekarang kita mendukung datetime64 dan int64 dtypes for Factor. Dan BoundColumn.latest sekarang mengembalikan objek Filter yang tepat saat kolomnya adalah tipe dtype bool. Zipline sekarang mendukung 1.85 numpy, panda 0,17, dan scipy 0,16 (969). Batch transforms telah ditinggalkan dan akan dihapus dalam rilis masa depan. Menggunakan riwayat direkomendasikan sebagai alternatif. Perangkat tambahan Menambahkan cara bagi pengguna untuk menyediakan manajer konteks yang akan digunakan saat menjalankan fungsi terjadwal (termasuk penanganan). Manajer konteks ini akan melewati objek BarData untuk bar dan akan digunakan untuk durasi semua fungsi yang dijadwalkan untuk dijalankan. Ini bisa dilewatkan ke TradingAlgorithm dengan kata kunci argumen createeventcontext (828). Ditambahkan dukungan untuk zipline.pipeline.factors.Faktor contoh dengan datetime64ns dtypes. (905) Menambahkan dataset EarningsCalendar baru untuk digunakan dalam Pipeline API. Dataset ini menyediakan antarmuka abstrak untuk menambahkan data pengumuman penghasilan ke algoritma baru. Implementasi referensi berbasis panda untuk dataset ini dapat ditemukan di zipline.pipeline.loaders.earnings. Dan implementasi berbasis blaze eksperimental dapat ditemukan di zipline.pipeline.loaders.blaze.earnings. (905). Menambahkan faktor built-in baru, zipline.pipeline.factors.BusinessDaysUntilNextEarnings dan zipline.pipeline.factors.BusinessDaysSincePreviousEarnings. Faktor-faktor ini menggunakan dataset EarningsCalendar baru. (905). Ditambahkan isnan (). Metode notnan () dan isfinite () ke zipline.pipeline.factors.Factor (861). Ditambahkan zipline.pipeline.factors.Returns. Sebuah faktor built-in yang menghitung perubahan persen dalam harga penutupan di atas windowlength yang diberikan. (884). Menambahkan faktor built-in baru: AverageDollarVolume. (927). Ditambahkan Faktor ExponentialWeightedMovingAverage dan ExponentialWeightedMovingStdDev. (910). Izinkan kelas DataSet dikelompokkan subclass mana subclass mewarisi semua kolom dari induk. Kolom ini akan menjadi sentinel baru sehingga Anda bisa mendaftarkannya loader ubahsuaian (924). Ditambahkan memaksa () untuk memaksa masukan dari satu jenis ke yang lain sebelum meneruskannya ke fungsi (948). Ditambahkan opsional () untuk membungkus fungsi preprocessor lainnya untuk secara eksplisit mengizinkan None (947). Ditambahkan ensuretimezone () untuk memungkinkan argumen string dikonversi menjadi objek datetime.tzinfo. Ini juga memungkinkan objek tzinfo dilewati secara langsung (947). Ditambahkan dua argumen opsional, dataquerytime dan dataquerytz ke BlazeLoader dan BlazeEarningsCalendarLoader. Argumen ini memungkinkan pengguna menentukan waktu cutoff untuk data saat memuat dari sumber. Sebagai contoh, jika saya ingin mensimulasikan pelaksanaan fungsi beforetradingstart saya di 8:45 USEastern maka saya bisa melewati datetime.time (8, 45) dan USEastern ke loader. Ini berarti data yang timestamped pada atau setelah 8:45 tidak akan terlihat pada hari itu dalam simulasi. Data akan tersedia pada hari berikutnya (947). BoundColumn.latest sekarang mengembalikan Filter untuk kolom dtype bool (962). Ditambahkan dukungan untuk contoh Faktor dengan int64 dtype. Kolom sekarang membutuhkan missingvalue bila dtype adalah integral. (962) Sekarang juga mungkin untuk menentukan nilai missingvalue khusus untuk float. tanggal Waktu. Dan istilah pipa bool. (962) Menambahkan dukungan auto-close untuk ekuitas. Setiap posisi yang dimiliki dalam ekuitas yang mencapai autoclosedate akan dilikuidasi untuk uang tunai sesuai dengan harga jual terakhir ekuitas. Selanjutnya, setiap perintah terbuka untuk ekuitas itu akan dibatalkan. Kedua futures dan ekuitas sekarang ditutup secara otomatis pada pagi hari di autoclosedate mereka. Segera sebelum beforetradingstart. (982) Fitur Eksperimental Fitur eksperimental dapat berubah sewaktu-waktu. Ditambahkan dukungan untuk parameterized Faktor subclass. Faktor dapat menentukan params sebagai atribut tingkat kelas yang berisi tuple dari nama parameter. Nilai ini kemudian diterima oleh konstruktor dan diteruskan dengan nama ke fungsi penghitungan faktor8217. API ini eksperimental, dan mungkin berubah dalam rilis mendatang. Perbaikan Bug Memperbaiki masalah yang akan menyebabkan caching metode harian untuk mengubah len objek SIDData. Hal ini akan menyebabkan kita berpikir bahwa benda itu tidak kosong bahkan pada saat itu (826). Memperbaiki kesalahan yang timbul saat menghitung beta saat data datanya jarang. Sebaliknya numpy.nan dikembalikan (859). Memperbaiki masalah pengirim sentinel () benda (872). Peringatan palsu yang tetap pada unduhan pertama data treasury (: issue 922). Mengoreksi pesan kesalahan untuk setcommission () dan setslippage () bila digunakan di luar fungsi inisialisasi. Kesalahan ini disebut override fungsi dan bukan set. Ini juga berganti nama menjadi tipe pengecualian yang diangkat dari OverrideSlippagePostInit dan OverrideCommissionPostInit ke SetSlippagePostInit dan SetCommissionPostInit (923). Memperbaiki masalah di CLI yang akan menyebabkan aset ditambahkan dua kali. Ini akan memetakan simbol yang sama ke dua soket yang berbeda (942). Memperbaiki masalah di mana PerformancePeriod salah melaporkan nilai totalposisi saat membuat Akun (950). Masalah tetap seputar KeyErrors berasal dari sejarah dan BarData pada python 32-bit, di mana Aset tidak dapat dibandingkan dengan int64s (959). Memperbaiki bug di mana operator boolean tidak diterapkan dengan benar pada Filter (991). Pemasangan zipline tidak lagi downgrade numpy menjadi 1,9,2 diam-diam dan tanpa syarat (969). Kinerja Mempercepat lookupsymbol () dengan menambahkan ekstensi, AssetFinderCachedEquities. Yang memuat ekuitas ke dalam kamus dan kemudian mengarahkan lookupsymbol () ke kamus ini untuk menemukan persamaan yang sesuai (830). Peningkatan kinerja lookupsymbol () dengan melakukan query batched. (817). Pemeliharaan dan Refactorings Database aset sekarang berisi informasi versi untuk memastikan kompatibilitas dengan versi Zipline saat ini (815). Versi permintaan upgrade ke 2.9.1 (2ee40db) Upgrade versi logbook menjadi 0.12.5 (11465d9). Upgrade versi Cython menjadi 0.23.4 (5f49fa2). Membuat persyaratan pemasangan zipline lebih fleksibel (825). Gunakan verseer untuk mengelola versi proyek dan versi setup.py (829). Integrasi sambungan tetap pada travis build (840). Membangun konda tetap, yang sekarang menggunakan sumber git sebagai sumbernya dan membaca persyaratan menggunakan setup.py, alih-alih menyalinnya dan membiarkannya tidak sinkron (937). Membutuhkan setuptools gt 18.0 (951). Dokumen Dokumentasi proses pelepasan untuk pengembang (835). Dokumen referensi tambahan untuk Pipeline API. (864). Ditambahkan referensi docs untuk Asset Metadata APIs. (864). Dokumentasi yang dihasilkan sekarang menyertakan tautan ke kode sumber untuk banyak kelas dan fungsinya. (864). Ditambahkan platform-dokumentasi khusus yang menjelaskan bagaimana menemukan dependensi biner. (883). Miscellaneous Menambahkan metode showgraph () untuk membuat Pipeline sebagai gambar (836). Menambahkan subtest () dekorator untuk membuat subtest tanpa noseparameterized.expand () yang membungkuk keluaran tes (833). Batas waktu melaporkan hasil tes menjadi 15 tes terpanjang (838). Treasury dan benchmark downloads sekarang akan menunggu hingga satu jam untuk mendownload lagi jika data yang dikembalikan dari sumber remote tidak sampai ke tanggal yang diharapkan. (841). Menambahkan alat untuk menurunkan aset db ke versi sebelumnya (941). Rilis 0.8.3 Ikhtisar Sistem dokumentasi baru dengan situs web baru di zipline.io Peningkatan kinerja utama. Sejarah dinamis Metode yang ditetapkan pengguna baru: beforetradingstart. Fungsi api baru: schedulefunction (). Fungsi api baru: getenvironment (). Fungsi api baru: setmaxleverage (). Fungsi api baru: setdonotorderlist (). Pipeline API. Dukungan untuk perdagangan berjangka. Perangkat tambahan Objek akun: Menambahkan objek akun ke konteks untuk melacak informasi tentang akun perdagangan. Contoh: Mengembalikan nilai tunai yang tersimpan yang tersimpan pada objek akun. Nilai ini diperbarui sesuai dengan algoritma yang dijalankan (396). HistoryContainer sekarang bisa tumbuh secara dinamis. Panggilan ke sejarah () sekarang akan dapat meningkatkan ukuran atau mengubah bentuk wadah sejarah untuk dapat melayani panggilan. Addhistory () sekarang bertindak sebagai petunjuk preformance untuk mengalokasikan ruang yang cukup dalam wadah. Perubahan ini kompatibel dengan sejarah. Semua algoritma yang ada harus terus bekerja sebagaimana mestinya (412). Transformasi sederhana berasal dari sejarah quantopian dan penggunaan. SIDData sekarang memiliki metode untuk: Metode ini, kecuali untuk pengembalian. Terima beberapa hari Jika Anda menjalankan dengan data menit, maka ini akan menghitung jumlah notulen pada masa itu, yang memperhitungkan penutupan awal dan waktu sekarang dan menerapkan transformasi selama beberapa menit. Return tidak mengambil parameter dan akan mengembalikan return harian dari aset yang diberikan. Contoh: Bidang baru di Periode Kinerja. Periode Kinerja memiliki bidang baru yang dapat diakses dengan nilai pengembalian todict. - leverage kotor - leverage bersih - eksposur pendek - eksposur panjang - jumlah celana pendek - hitung panjang (464). Biarkan orderpercent () bekerja dengan berbagai nilai pasar (oleh Jeremiah Lowin). Saat ini, orderpercent () dan ordertargetpercent () keduanya beroperasi sebagai persentase dari self.portfolio.portfoliovalue. PR ini memungkinkan mereka beroperasi sebagai persentase MV penting lainnya. Juga menambahkan context.getmarketvalue (). Yang memungkinkan fungsi ini. Sebagai contoh: Opsi baris perintah untuk mencetak algo ke stdout (oleh Andrea D8217Amore) (545). Fungsi baru yang ditetapkan pengguna beforetradingstart. Fungsi ini bisa ditimpa oleh pengguna untuk dipanggil sekali sebelum pasar dibuka setiap hari (389). Penjadwal fungsi api baru (). Fungsi ini memungkinkan pengguna menjadwalkan fungsi yang dipanggil berdasarkan peraturan yang lebih rumit mengenai tanggal dan waktu. Misalnya, panggil fungsi 15 menit sebelum penutupan pasar dengan hormat pada penutupan awal (411). Fungsi api baru setdonotorderlist (). Fungsi ini menerima daftar aset dan menambahkan penjaga perdagangan yang mencegah algoritma untuk memperdagangkannya. Menambahkan daftar poin dalam daftar waktu ETF leveraged yang orang mungkin ingin tandai sebagai bukan trade8217 (478). Menambahkan kelas untuk mewakili sekuritas. Order () dan fungsi pesanan lainnya sekarang memerlukan sebuah instance dari Security, bukan sebuah int atau string (520). Generalisasikan kelas Keamanan ke Aset. Ini adalah persiapan untuk menambahkan dukungan untuk jenis aset lainnya (535). Api baru fungsi getenvironment (). Fungsi ini secara default mengembalikan zipline string. Ini digunakan agar algoritma dapat memiliki perilaku yang berbeda pada Quantopian dan zipline lokal (384). Memperluas lingkungan getar () untuk mengekspos lebih banyak lingkungan ke algoritma. Fungsi sekarang menerima argumen yang merupakan field untuk kembali. Secara default, ini adalah platform yang mengembalikan nilai lama zipline namun bidang baru berikut dapat diminta: arena. Apakah ini live trading atau backtesting datafrequency. Apakah mode menit ini atau mode mulai hari ini. Tanggal mulai simulasi akhir. Simulasi tanggal akhir Modal dasar Modal awal untuk simulasi. peron. Platform yang menjalankan algoritma ini. . Kamus berisi semua bidang ini. Fungsi api baru setmaxleveraged (). Metode ini menambahkan penjaga perdagangan yang mencegah algoritma Anda untuk lebih memanfaatkannya sendiri (552). Fitur Eksperimental Fitur eksperimental dapat berubah sewaktu-waktu. Menambahkan API Pipeline baru. API pipa adalah API deklaratif tingkat tinggi untuk merepresentasikan perhitungan trailing window pada dataset besar (630). Menambahkan dukungan untuk perdagangan berjangka (637). Menambahkan pemuat pipa untuk ekspresi blaze. Hal ini memungkinkan pengguna untuk menarik data dari berbagai format blaze mengerti dan menggunakannya di Pipeline API. (775). Perbaikan Bug Perbaiki bug di mana pengembalian yang dilaporkan dapat dipangkas tajam untuk periode waktu yang acak (378). Perbaiki bug yang mencegah debugger untuk menyelesaikan file algoritma (431). Argumen maju dengan tepat untuk fungsi inisialisasi yang ditetapkan pengguna (687). Perbaiki bug yang akan menyebabkan data treasury diunduh ulang setiap backtest antara EST tengah malam dan saat data perbendaharaan tersedia (793). Perbaiki bug yang akan menyebabkan pengguna mendefinisikan fungsi analisis agar tidak dipanggil jika dilewatkan sebagai argumen kata kunci ke TradingAlgorithm (819). Kinerja Peningkatan kinerja utama pada sejarah (oleh Dale Jung) (488). Pemeliharaan dan Refactorings Hapus kode transformasi sederhana. Ini tersedia sebagai metode SIDData (550). Sorot antarmuka baris perintah untuk menjalankan algoritma secara langsung. IPython Magic zipline yang menjalankan algoritma yang didefinisikan dalam sel notebook IPython. Metode API untuk membangun pengamanan terhadap perintah pelarian dan posisi pendek yang tidak diinginkan. Sejarah baru () berfungsi untuk mendapatkan DataFrame data pasar masa lalu yang bergerak (menggantikan BatchTransform). Tutorial pemula yang baru. Perangkat tambahan CLI: Menambahkan sihir CLI dan IPython untuk zipline. Contoh: Meraih data dari yahoo finance, menjalankan file dualmovingavg.py (dan mencari dualmovingavganalyze.py yang, jika ditemukan, akan dieksekusi setelah algoritma dijalankan), dan menampilkan dataFrame ke dma.pickle (325) . Perintah sulap IPython (di bagian atas sel notebook IPython). Contoh: Sama seperti di atas kecuali daripada mengeksekusi file mencari algoritma di dalam sel dan sebagai pengganti keluaran ke file, buatlah sebuah variabel dalam namespace yang disebut perf (325). Menambahkan Kontrol Perdagangan ke algoritma API. Fungsi berikut sekarang tersedia di TradingAlgorithm dan untuk skrip algo: setmaxordersize (self, sidNone, maxsharesNone, maxnotionalNone) Tetapkan batas pada besaran absolut, dalam andor dan nilai total dolar, dari setiap perintah yang diberikan oleh algoritma ini untuk sid yang diberikan . Jika sid tidak ada, maka aturan tersebut diterapkan pada perintah yang ditempatkan oleh algoritma. Contoh: setmaxpositionsize (self, sidNone, maxsharesNone, maxnotionalNone) -Mengatur batas pada besaran absolut, baik dalam nilai saham atau dolar, dari posisi yang dipegang oleh algoritma untuk sid yang diberikan. Jika sid None, maka aturan tersebut diterapkan ke posisi yang dipegang oleh algoritma. Contoh: setlongonly (self) Tetapkan aturan yang menentukan bahwa algoritma mungkin tidak memegang posisi pendek. Contoh: Menambahkan metode kelas allapimethod pada TradingAlgorithm yang mengembalikan daftar semua metode API TradingAlgorithm (333). Expanded record () fungsionalitas untuk penamaan dinamis. Fungsi record () sekarang bisa mengambil argumen posisi sebelum kwargs. Semua penggunaan dan fungsionalitas yang asli sama, namun sekarang penggunaan ekstra ini akan berhasil: Persyaratannya hanya karena argumentasi poritional hanya terjadi sebelum kwargs (355). Sejarah () telah dikirim dari Quantopian ke Zipline dan menyediakan data pasar jendela bergerak. History () menggantikan BatchTransform. Ini lebih cepat, bekerja untuk data tingkat menit dan memiliki antarmuka yang superior. Untuk menggunakannya, panggil addhistory () di dalam inisialisasi () dan kemudian menerima panda DataFrame dengan memanggil history () dari dalam managedata (). Simak tutorial dan contohnya. (345 dan 357). History () sekarang mendukung panjang jendela 1m (345). Perbaikan Bug Perbaiki penyelarasan hari perdagangan dan buka dan tutup di lingkungan perdagangan (331). RollingPanel memperbaiki saat menambahkan field baru (349). Performance Maintenance and Refactorings Menghapus data sumber HDF5 dan CSV yang tidak terdokumentasi dan belum teruji (267). Refactor simparams (352). Refactoring sejarah (340). Ketergantungan berikut telah diperbarui (zipline mungkin bekerja dengan versi lain juga): Ikhtisar Perbaikan utama pada perhitungan risiko, lihat bagian Perbaikan Bug. Port of history () function, lihat bagian Enhancements Mulai dukungan untuk skrip sintaks algoritma Quantopian, lihat bagian ENH. Dukungan manajer paket conda, lihat bagian Build. Perangkat tambahan Selalu memproses perintah baru yaitu pada batang tempat penanganan ditangani, tapi ada 8216clock8217 data mis. Patokan yang konsisten, perintah proses. Posisi kosong sekarang disaring dari kontainer portofolio. Untuk membantu mencegah algoritme beroperasi pada posisi yang tidak berada dalam jagad saham yang ada. Dahulu, iterasi atas posisi akan mengembalikan posisi saham yang memiliki zero shares held. (Dimana cek eksplisit dalam kode algoritma untuk pos.amount 0 dapat mencegah penggunaan posisi yang tidak ada.) Tambahkan kalender perdagangan untuk BMFampBovespa. Tambahkan permulaan dukungan algo script. Mulai di jalan paritas dengan sintaks naskah di Quantopian8217s IDE on quantopian Contoh: Tambahkan sumber HDF5 dan CSV. Batasi penanganan terhadap waktu dengan data pasar. Untuk mencegah kasus di mana tipe data khusus memiliki cap waktu yang tidak sama, hanya memanggil ditanganiata saat data pasar berhasil melewatinya. Data khusus yang datang sebelum data pasar masih akan mengupdate data bar. Namun penanganan data itu hanya akan dilakukan bila ada data pasar yang bisa ditindaklanjuti. Metode Extended Commission PerShare memungkinkan biaya minimum per transaksi. Menambahkan fungsi simbol api Sebuah simbol () fitur pencarian ditambahkan ke Quantopian. Dengan menambahkan fungsi API yang sama ke zipline, kita bisa membuat salinan dari Zipline algo ke Quantopian lebih mudah. Tambahkan sumber perdagangan acak simulasi. Menambahkan sumber data baru yang memancarkan acara dengan frekuensi tertentu yang ditentukan pengguna (menit atau setiap hari). Hal ini memungkinkan pengguna untuk backtest dan debug algoritma dalam mode menit untuk memberikan jalan yang bersih menuju Quantopian. Hapus ketergantungan pada patokan untuk kalender hari perdagangan. Alih-alih indeks benchmark1617, kalender perdagangan sekarang digunakan untuk mengisi hari perdagangan environment8217s. Hapus bidang ekstradat, karena tidak seperti daftar tolok ukur, kalender perdagangan dapat menghasilkan tanggal di masa depan, jadi tanggal untuk perdagangan hari ini tidak perlu ditambahkan. Motivasi: Sumber untuk kalender tutup dan closeear yang dekat dan kalender hari perdagangan sekarang sama, yang seharusnya membantu mencegah kemungkinan masalah karena misalignment. Memungkinkan konfigurasi dimana tolok ukur disediakan sebagai sumber data berbasis generator agar perlu menyediakan daftar benchmark kedua hanya untuk mengisi tanggal. Sejarah pelabuhan () Metode API dari Quantopian. Membuka inti dari fungsi history () yang sebelumnya hanya tersedia di platform Quantopian. Metode sejarah analogis dengan functiondecorator batchtransform, namun dengan spesifikasi dan frekuensi yang diharapkan dari frekuensi bar sebelumnya yang ditangkap. Contoh penggunaan: N.B. this version of history lacks the backfilling capability that allows the return a full DataFrame on the first bar. Bug Fixes Adjust benchmark events to match market hours (241 ). Previously benchmark events were emitted at 0:00 on the day the benchmark related to: in 8216minute8217 emission mode this meant that the benchmarks were emitted before any intra-day trades were processed. Ensure perf stats are generated for all days When running with minutely emissions the simulator would report to the user that it simulated 8216n - 18217 days (where n is the number of days specified in the simulation params). Now the correct number of trading days are reported as being simulated. Fix repr for cumulative risk metrics. The repr for RiskMetricsCumulative was referring to an older structure of the class, causing an exception when printed. Also, now prints the last values in the metrics DataFrame. Prevent minute emission from crashing at end of available data. The next day calculation was causing an error when a minute emission algorithm reached the end of available data. Instead of a generic exception when available data is reached, raise and catch a named exception so that the tradesimulation loop can skip over, since the next market close is not needed at the end. Fix pandas indexing in trading calendar. This could alternatively be filed under Performance. Index using loc instead of the inefficient index-ing of day, then time. Prevent crash in vwap transform due to non-existent member. The WrongDataForTransform was referencing a self.fields member, which did not exist. Add a self.fields member set to price and volume and use it to iterate over during the check. Fix max drawdown calculation. The input into max drawdown was incorrect, causing the bad results. i.e. the compoundedlogreturns were not values representative of the algorithms total return at a given time, though calculatemaxdrawdown was treating the values as if they were. Instead, the algorithmperiodreturns series is now used, which does provide the total return. Fix cost basis calculation. Cost basis calculation now takes direction of txn into account. Closing a long position or covering a short shouldn8217t affect the cost basis. Fix floating point error in order(). Where order amounts that were near an integer could accidentally be floored or ceilinged (depending on being postive or negative) to the wrong integer. misalnya an amount stored internally as -27.99999 was converted to -27 instead of -28. Update perf period state when positions are changed by splits. Otherwise, self.positionamounts will be out of sync with position.amount, etc. Fix misalignment of downside series calc when using exact dates. An oddity that was exposed while working on making the return series passed to the risk module more exact, the series comparison between the returns and mean returns was unbalanced, because the mean returns were not masked down to the downside data points however, in most, if not all cases this was papered over by the call to .valid() which was removed in this change set. Check that self.logger exists before using it. self.logger is initialized as None and there is no guarantee that users have set it, so check that it exists before trying to pass messages to it. Prevent out of sync market closes in performance tracker. In situations where the performance tracker has been reset or patched to handle state juggling with warming up live data, the marketclose member of the performance tracker could end up out of sync with the current algo time as determined by the performance tracker. The symptom was dividends never triggering, because the end of day checks would not match the current time. Fix by having the tradesimulation loop be responsible, in minuteminute mode, for advancing the market close and passing that value to the performance tracker, instead of having the market close advanced by the performance tracker as well. Fix numerous cumulative and period risk calculations. The calculations that are expected to change are: cumulative.beta cumulative.alpha cumulative.information cumulative.sharpe period.sortino How Risk Calculations Are Changing Risk Fixes for Both Period and Cumulative Use sample instead of population for standard deviation. Add a rounding factor, so that if the two values are close for a given dt, that they do not count as a downside value, which would throw off the denominator of the standard deviation of the downside diffs. Standard Deviation Type Across the board the standard deviation has been standardized to using a 8216sample8217 calculation, whereas before cumulative risk was mostly using 8216population8217. Using ddof1 with np.std calculates as if the values are a sample. Cumulative Risk Fixes Use the daily algorithm returns and benchmarks instead of annualized mean returns. Use sample instead of population with standard deviation. The volatility is an input to other calculations so this change affects Sharpe and Information ratio calculations. The benchmark returns input is changed from annualized benchmark returns to the annualized mean returns. The benchmark returns input is changed from annualized benchmark returns to the annualized mean returns. Period Risk Fixes Now uses the downside risk of the daily return vs. the mean algorithm returns for the minimum acceptable return instead of the treasury return. The above required adding the calculation of the mean algorithm returns for period risk. Also, uses algorithmperiodreturns and tresauryperiodreturn as the cumulative Sortino does, instead of using algorithm returns for both inputs into the Sortino calculation. Performance Removed aliasdt transform in favor of property on SIDData. Adding a copy of the Event8217s dt field as datetime via the aliasdt generator, so that the API was forgiving and allowed both datetime and dt on a SIDData object, was creating noticeable overhead, even on an noop algorithms. Instead of incurring the cost of copying the datetime value and assigning it to the Event object on every event that is passed through the system, add a property to SIDData which acts as an alias datetime to dt. Eventually support for datafoo.datetime may be removed, and could be considered deprecated. Remove the drop of 8216null return8217 from cumulative returns. The check of existence of the null return key, and the drop of said return on every single bar was adding unneeded CPU time when an algorithm was run with minute emissions. Instead, add the 0.0 return with an index of the trading day before the start date. The removal of the null return was mainly in place so that the period calculation was not crashing on a non-date index value with the index as a date, the period return can also approximate volatility (even though the that volatility has high noise-to-signal strength because it uses only two values as an input.) Maintenance and Refactorings Allow simparams to provide data frequency for the algorithm. In the case that datafrequency of the algorithm is None, allow the simparams to provide the datafrequency . Also, defer to the algorithms data frequency, if provided. Added support for building and releasing via conda For those who prefer building with conda.pydata.org to compiling locally with pip. The following should install Zipline on many systems.
Stock-options-impuesto-a-las-ganancias
Pilihan mingguan-strategi-trading-john-carter