Hi Fams, pernahkah kamu mendengar istilah GitHub? Kalau kamu berkecimpung di dunia teknnologi, khususnya software dan programming pasti GitHub bukan hal asing lagi. Hemera sudah merangkum pengertian dan cara kerja GitHub khusus untuk kamu. Yuk simak artikel berikut ini. GitHub merupakan bagian dari seperangkat alat penting dalam pembuatan perangkat lunak atau software. Dalam proses kerjanya, GitHub sangat berhubungan dengan Git. Sehingga, untuk memahami apa itu GitHub dan cara kerjanya, kita mesti mengetahui dulu apa itu Git. Apa Itu Git? dan Apa Hubungannya dengan GitHub?Apa itu Git? Git adalah sebuah Version Control System (VCS) yang membantu kita menjaga agar ada pembedaan masing-masing file, sehingga file tetap di jalur yang sama ketika dalam penyimpanan ulang. Contohnya, ketika file final_draft.doc dicopy-paste, maka nama file yang muncul sebagai penawaran adalah final_draft(2).doc. Tanpa Git, file-file tesebut akan akan menjadi file yang terlihat sama dengan file sebelumnya. Tentu saja itu membingungkan ya. Lalu apa hubungannya dengan GitHub? GitHub adalah website tempat Git melakukan penyimpanan. Alat ini dibuat dan dikembangkan pada tahun 2008, dengan alasan bahwa GIt sangat penting untuk mengatasi persoalan masalah yang terjadi di banyak tim, namun Git sendiri pada saat itu sering sulit digunakan. Untuk mengatasi masalah tersebut, GitHub menambah sekelompok alat kolaborasi dan eksplorasi pada Git untuk membantu suatu tim kerja agar lebih produktif. Misalnya, GitHub membantu memudahkan proses berbagi kode antara komputer-komputer dengan developers. Dengan kata lain, GitHub menjadi seperangkat alat sentral dalam ogranisasi dengan sistem komunitas terbuka, yang digunakan berbagai perusahaan dan tim untuk berbagi berkas. Beberapa pengguna GitHub memiliki satu penyimpanan dalam pekerjaan mereka, ada juga yang memiliki ratusan. Bagaimana Cara Kerjanya?Dalam alur kerjanya, GitHub digunakan untuk menyimpan file yang dikerjakan dengan komputer kantor, lalu melanjutkan pekerjaan tersebut ketika sudah di rumah. Caranya adalah membuat commit tersebut masuk ke penyimpanan GitHub. Detilnya, tinggal menarik file tersebut dari GitHub dan melanjutkan pekerjaan yang tadi ditinggalkan. Begitu juga jika ingin pindah ke komputer lain, di luar rumah dan kantor, tapi ingin mengerjakan berkas yang sama. Caranya adalah dengan membuat commit dan mendorongnya masuk GitHub, sehingga pekerjaan tersebut dapat digunakan dengan mudah di berbagai komputer lainnya. Proses terebut dapat dilakukan terus pada berbagai masalah dalam pekerjaan. Namun, jika memutuskan untuk menarik seorang rekan dalam melakukan sebuah pekerjaan, kita harus menggabungkan cabang-cabang yang sudah dikerjakan dalam satu alur kerja. Cabang-cabang tersebut memudahkan dalam memperbarui project secara berkesinambungan. Hebatnya, cara tersebut diterapkan oleh banyak perusahaan, termasuk di Indonesia. Tak peduli besar atau kecil organisasinya. Hal tersebut demi proses pengembangan perusahaan. Untuk hal ini GitHub juga menyediakan layanan private yang disediakan dengan langganan berbayar. Sementara, penyimpanan public diberikan secara gratis. Namun, kebanyakan perusahaan memiliki campuran penyimpanan antara private dan public karena adanya preseden open source dalam pembuatan software. Seperti Facebook, yang memiliki satu ton software yang bersifat open source pada GitHub, termasuk framework terkenal dari JavaSrcipt: React.
Selain Facebook, perusahaan yang menggunakan Git dan GitHub sebagai source code hosting adalah Netflix, Amazon, AirBne, Google,dan IBM. Sejauh ini, GitHub merupakan layanan penyimpanan paling ternama sebagai layanan hosting. Tahun 2018 saja, ada 31 juta pengguna seluruh dunia dengan penyimpanan 96 juta lebih…. Analisis Teknikal – Salah satu analisis harga saham/stok yang sering digunakan yaitu analisis teknikal berdasarkan sifat data time series yang berulang. Analisis teknikal biasanya melibatkan analisis grafik yang canggih. Saat ini banyak sekali tersedia secara default oleh para broker berbasis aplikasi web ataupun mobile application. Analisis teknikal bisa kok kita buat sendiri, asalkan kita punya data yang lengkap transaksi saham harian. Kalian bisa kok download data transaksi harian saham di https://github.com/mulkan/data-stock/tree/main/dataset Berbicara mengenai analisis teknikal, saya biasanya menggunakan broker stockbit/tradingview. Bila kalian mau otak-atik sendiri tentu mengolah data yang cukup untuk analisis teknikal tidak praktis menggunakan excel. Solusinya yaitu bisa menggunakan R/RStudio dengan package quantmod. Analisis teknikal ada banyak jenisnya yaitu Jenis Analisis TeknikalContents Volume
Volatility
Trend
Momentum
See also Dapat Cuan dari Emiten Gocap - Indikator Frequency Analyser Others
Library Analisis TeknikalNah pada pembahasan kali ini, saya akan lebih fokus menggunakan Python saja daripada R/RStudio sebagai alternatif saja. Terlebih dahulu kalian bisa merge file CSV Merge File CSV di Pandas menggunakan dataset https://github.com/mulkan/data-stock/tree/main/dataset Library yang sudah saya pernah coba-coba seperti
Ternyata lebih menarik dan lengkap point 3 karena merupakan wrapper dari TA-Lib : Technical Analysis Library yang banyak digunakan developer dan tersedia banyak untuk bahasa lainnya walaupun ditulis di C/C++. Menggunakan library SWIG untuk mengkoneksikan bahasa yang ditulis di C/C++ ke bahasa tingkat tinggi lain seperti java, perl, php, python, C#, go lang. Install TA-Lib juga lumayan ribet, setelah saya download versi binary ta-lib-0.4.0-msvc.zip dan di extract di C:\ta-lib dan setting path nya agar dikenali oleh sistem windows kemudian install via pip yang bisa kalian gunakan 2 cara yaitu
hasilnya banyak error (ta-lib-0.4.0-msvc.zip ternyata versi 32 bit, cukup ribet kalau harus compile ke versi 64 bit menggunakan visual studio)
Ternyata yang paling gampang pakai whl saja yang bisa kalian download di pilih sesuai versi, seperti Python 3.8 (64 bit) bisa menggunakan TA_Lib-0.4.24-cp38-cp38-win_amd64.whl. Setelah di download install via pip conda install -c conda-forge ta-lib1 Ternyata bisa. >>> import talib >>> import numpy >>> c = numpy.random.randn(100) >>> k,d = talib.STOCHRSI(c) Kalau bagi pengguna macbook M1 bisa menggunakan kode berikut untuk install conda install -c conda-forge ta-lib
See also Apa itu Market Capitalization Analisis TeknikalSekarang kita coba yuk, dengan loading dataset terlebih dahulu (akan lebih baik kalian menggunakan jupyter notebook ya) karena grafiknya pakai plotly berbasis web app. import pandas as pd import glob import os joined_files = os.path.join("G:\\dataset", "*.csv") joined_list = glob.glob(joined_files) df = pd.concat(map(pd.read_csv, joined_list), ignore_index=True) Jangan lupa untuk mengubah date format nya agar sesuai standar pandas df['Date'] = pd.to_datetime(df['Date'], format='%Y-%m-%d') Kita bisa melihat ada sekali data yang kita pakai karena bersifat harian, kita harus melakukan teknik aggregasi. Bila pernah menggunakan R/RStudio urusan untuk pivot/aggregasi sangatlah dimudahkan dengan adanya package dplyr. Tapi tenang saja, di Python bisa kok menggunakan pandas RPYTHONmutateassignselectfilterarrangesort_valuesgroup_bygroupbysummariseaggfilterqueryrenamerename–evalPilih emiten dan tahun yang digunakan, misalkan akan pilih emiten ACES dimulai dari tanggal 01 januari 2022 sampai saat ini. stock_emiten = df.query("StockCode=='ACES' & Date>='2022-01-01'") stock_emiten.sort_values(by='Date',ascending=True,inplace = True) #memastikan date nya urut Kita akan plot Close dan RSI nya from plotly.subplots import make_subplots import plotly.graph_objects as go fig = make_subplots(rows=2, cols=1, shared_xaxes=True) fig.add_trace( go.Line(x=stock_emiten["Date"], y=stock_emiten["Close"]), row=1, col=1 ) fig.add_trace( go.Line(x=stock_emiten["Date"], y= stock_emiten["RSI"]), row=2, col=1 ) fig.update_layout(height=600, width=800, title_text="Saham Emiten ACES") fig.show() GroupByUntuk mempercepat perhitungan RSI pada semua emiten, kita bisa menggunakan GroupBy def addRSI(grp): grp["RSI"] = talib.RSI(grp["Close"],9) return grp df.sort_values(by='Date',ascending=True,inplace = True) stock = df.groupby('StockCode').apply(addRSI) emiten = "'TOWR'" stock_emiten = stock.query("StockCode=="+emiten+" & Date>='2022-01-01'") from plotly.subplots import make_subplots import plotly.graph_objects as go import warnings warnings.filterwarnings('ignore') fig = make_subplots(rows=2, cols=1, shared_xaxes=True) fig.add_trace( go.Line(x=stock_emiten["Date"], y=stock_emiten["Close"]), row=1, col=1 ) fig.add_trace( go.Line(x=stock_emiten["Date"], y= stock_emiten["RSI"]), row=2, col=1 ) fig.update_layout(height=600, width=1000, title_text="Saham Emiten "+emiten) fig.show() Yuk kita lihat Analisis Teknikal diatas Ternyata untuk emiten TOWR dengan RSI9 masih belum jenuh jual Analisis Teknikal SMAAnalisis teknikal yang lainya untuk deteksi kapan beli yaitu ketika SMA periode rendah memotong keatas SMA periode tinggi. Seperti biasa kita buat function terlebih dahulu sekalian operasi groupby |