📄 drawchgraphs_1.java
字号:
jSlider13MouseDragged(evt); } }); jPanel2.add(jSlider13); jSlider14.setMaximum(400); jSlider14.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() { public void mouseDragged(java.awt.event.MouseEvent evt) { jSlider14MouseDragged(evt); } }); jPanel2.add(jSlider14); jPanel2.add(jLabel7); jSlider9.setMaximum(50000); jSlider9.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() { public void mouseDragged(java.awt.event.MouseEvent evt) { jSlider9MouseDragged(evt); } }); jPanel2.add(jSlider9); jProgressBar1.setForeground(new java.awt.Color(204, 255, 102)); jProgressBar1.setBackground(new java.awt.Color(204, 204, 255)); jProgressBar1.setBorder(new javax.swing.border.EtchedBorder(null, java.awt.Color.lightGray)); jPanel2.add(jProgressBar1); jButton1.setText("go"); jButton1.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { jButton1MouseClicked(evt); } }); jPanel2.add(jButton1); jPanel2.add(jLabel8); jPanel2.add(jLabel9); jSplitPane1.setRightComponent(jPanel2); getContentPane().add(jSplitPane1); pack(); }//GEN-END:initComponents private void jSlider14MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider14MouseDragged prop_trc=1.0*jSlider14.getValue()/1000; jTextField15.setText("Proportional transaction cost = "+prop_trc); }//GEN-LAST:event_jSlider14MouseDragged private void jSlider13MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider13MouseDragged fixed_trc=1.0*jSlider13.getValue()/1000; jTextField14.setText("Fixed transaction cost = "+fixed_trc); }//GEN-LAST:event_jSlider13MouseDragged private void jSlider11MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider11MouseDragged nPoints=jSlider11.getValue(); jTextField12.setText("Number of strikes = "+nPoints); }//GEN-LAST:event_jSlider11MouseDragged private void jSlider10MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider10MouseDragged K_max=1.0*jSlider10.getValue()/100; jTextField11.setText("Strike K_max = "+K_max); }//GEN-LAST:event_jSlider10MouseDragged private void jSlider1MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider1MouseDragged K_min=1.0*jSlider1.getValue()/100; jTextField1.setText("Strike K_min = "+K_min); }//GEN-LAST:event_jSlider1MouseDragged //SET OFF MAIN COMPUTATION: // warning io-exceptions caught silently, no report private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton1MouseClicked try{ mainComputation(); } catch(java.io.FileNotFoundException e){ } catch(java.io.IOException e){} }//GEN-LAST:event_jButton1MouseClicked private void jSlider9MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider9MouseDragged nPaths=jSlider9.getValue(); jTextField9.setText("Number of paths = "+nPaths); }//GEN-LAST:event_jSlider9MouseDragged private void jSlider8MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider8MouseDragged dt=(double)jSlider8.getValue()/1000; T=(int)Math.round(Tc/dt); jTextField8.setText("Rehedge interval (years) = "+dt); }//GEN-LAST:event_jSlider8MouseDragged private void jSlider6MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider6MouseDragged sigma=(double)jSlider6.getValue()/100; jTextField6.setText("Volatility = "+sigma); }//GEN-LAST:event_jSlider6MouseDragged private void jSlider5MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider5MouseDragged mu=(double)jSlider5.getValue()/100; jTextField5.setText("Market drift ="+mu); }//GEN-LAST:event_jSlider5MouseDragged private void jSlider4MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider4MouseDragged S0=(double)jSlider4.getValue()/100; jTextField4.setText("S(0) = "+S0); }//GEN-LAST:event_jSlider4MouseDragged private void jSlider3MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider3MouseDragged r=(double)jSlider3.getValue()/100; jTextField3.setText("Risk free rate = "+r); }//GEN-LAST:event_jSlider3MouseDragged private void jSlider2MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jSlider2MouseDragged Tc=(double)jSlider2.getValue()/1000; T=(int)Math.round(Tc/dt); jTextField2.setText("Time to expiration (years) = "+Tc); }//GEN-LAST:event_jSlider2MouseDragged /** Exit the Application */ private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm System.exit(0); }//GEN-LAST:event_exitForm /** * @param args the command line arguments */ public static void main(String args[]) throws java.io.FileNotFoundException, java.io.IOException { //set defaults in case user does not choose T=12; nPaths=30000; nPoints=11; nBranch=5000; S0=50; mu=0.3; sigma=0.40; q=0.0; r=0.05; K_min=45; K_max=65; dt=0.05; Tc=1.0*Math.round(10*T*dt)/10; fixed_trc=0.0; prop_trc=0.0; minimum_variance_deltas=false; quotient_deltas=false; DrawCHGraphs_1 mainWindow=new DrawCHGraphs_1(); mainWindow.jCheckBox1.setSelected(false); //minimum variance deltas: no mainWindow.jCheckBox2.setSelected(false); //quotient deltas: no mainWindow.jTextField15.setText ("Proportional transaction cost ="+prop_trc); mainWindow.jTextField14.setText ("Fixed transaction cost = "+fixed_trc); mainWindow.jTextField12.setText("Number of strikes="+nPoints); mainWindow.jTextField1.setText("Strike K_min="+K_min); mainWindow.jTextField11.setText("Strike K_max="+K_max); mainWindow.jTextField9.setText("Number of paths ="+nPaths); mainWindow.jTextField8.setText("Rehedge interval (years) ="+dt); mainWindow.jTextField6.setText("Volatility ="+sigma); mainWindow.jTextField5.setText("Market drift ="+mu); mainWindow.jTextField4.setText("S(0) ="+S0); mainWindow.jTextField3.setText("Risk free rate ="+r); mainWindow.jTextField2.setText("Time to expiration (years) = "+Tc); mainWindow.setTitle("Call-Hedge statistics as function of strike"); mainWindow.setBounds(5,50,670,500); mainWindow.show(); }//end main // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JSlider jSlider4; private javax.swing.JSlider jSlider3; private javax.swing.JSlider jSlider2; private javax.swing.JSlider jSlider1; private javax.swing.JButton jButton1; private javax.swing.JSlider jSlider14; private javax.swing.JSlider jSlider13; private javax.swing.JSlider jSlider11; private javax.swing.JSlider jSlider10; private javax.swing.JLabel jLabel11; private javax.swing.JLabel jLabel10; private javax.swing.JCheckBox jCheckBox2; private javax.swing.JCheckBox jCheckBox1; private javax.swing.JTextField jTextField15; private javax.swing.JTextField jTextField14; private javax.swing.JTextField jTextField12; private javax.swing.JPanel jPanel2; private javax.swing.JTextField jTextField11; private javax.swing.JPanel jPanel1; private javax.swing.JTextField jTextField10; private javax.swing.JTextField jTextField9; private javax.swing.JTextField jTextField8; private javax.swing.JTextField jTextField6; private javax.swing.JTextField jTextField5; private javax.swing.JTextField jTextField4; private javax.swing.JTextField jTextField3; private javax.swing.JTextField jTextField2; private javax.swing.JTextField jTextField1; private javax.swing.JLabel jLabel9; private javax.swing.JLabel jLabel8; private javax.swing.JLabel jLabel7; private javax.swing.JLabel jLabel6; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel1; private javax.swing.JSlider jSlider9; private javax.swing.JSlider jSlider8; private javax.swing.JProgressBar jProgressBar1; private javax.swing.JSlider jSlider6; private javax.swing.JSplitPane jSplitPane1; private javax.swing.JSlider jSlider5; // End of variables declaration//GEN-END:variables static int T, nSignChange, nPaths, nPoints, nBranch, reportFrequency; static double S0, K_min, K_max, Tc, r, q, mu, sigma, dt, fixed_trc, prop_trc; static boolean minimum_variance_deltas, quotient_deltas; static ConstantVolatilityAsset asset; static CallHedgeStatisticsGraphs stats; public void mainComputation() throws java.io.FileNotFoundException, java.io.IOException { nSignChange=10; //irrelevant but needed for asset constructor minimum_variance_deltas=jCheckBox1.isSelected(); quotient_deltas=jCheckBox2.isSelected(); reportFrequency=10000; ConstantVolatilityAsset asset=new ConstantVolatilityAsset(T,dt,nSignChange,S0,r,q,mu,sigma); CallHedgeStatisticsGraphs stats=new CallHedgeStatisticsGraphs (asset,nPaths,nBranch,nPoints,jProgressBar1,reportFrequency); stats.graphFunctionOfStrikeAllDeltas (K_min,K_max,minimum_variance_deltas,quotient_deltas,fixed_trc,prop_trc); } //end mainComputation} //end DrawCHGraphs_1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -