커뮤니티

문의

프로필 이미지
오이도인
2009-05-23 10:09:03
750
글번호 22387
답변완료
아래의 각 기간을 식으로 표시하려면 어떻게 해야 하나요..? ///// 특정일자 표시 및 특정 기간 표시.. 매월 1일 매월 둘째 금요일 매월 25일 매월 마지막주 월요일 선물 만기일 다음날부터 2주후 목요일까지.. 옵션만기일 2주전부터 옵션 만기일까지.. 5주짜리 월물인 경우 매월 옵션 만기일 다음날부터 3주후 금요일까지.. 4주짜리 월물인 경우 매월 옵션 만기일 다음날부터 2주후 금요일까지.. /// 수고하세요..
검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2009-05-25 10:32:02

안녕하세요 예스스탁입니다. 공휴일 정보가 없어 해당내요은 추정으로 작성된 내용이므로 실제와 다를 수 있습니다. 1. 매월 1일 var1 = FracPortion(sdate/10)*10; # day if var1 == 1 Then Condition1 = true; Else Condition1 = false; 2. var : Week(0),DD(0),VV(0),MM(0); Week = DayOfWeek(sdate); ## 요일계산 MM = int(FracPortion(sdate/10000)*100); DD = date - int(date/100)*100; # 월이 변경 if (DD < DD[1] and Week > Week[1]) or (DD < DD[1] and Week < Week[1]) Then{ if week == 5 and DD == 1 Then var1 = 0; Else var1 = 1; } if (Week < Week[1] and DD >= DD[1]+3) Then{ var1 = var1+1; } if var1 == 2 and week == 5 Then Condition1 = True; Else Condition1 = False; 3. 매월 25일 var1 = FracPortion(sdate/10)*10; # day if var1 == 25 Then Condition1 = true; Else Condition1 = false; 4. 매월 마지막주 월요일 input : MoneySize(10000000); var : Week(0),DD(0),PreExdate(0),VV(0),MM(0); Week = DayOfWeek(sdate); ## 요일계산 MM = int(FracPortion(sdate/10000)*100); DD = date - int(date/100)*100; # 월이 변경 if (DD < DD[1] and Week > Week[1]) or (DD < DD[1] and Week < Week[1]) Then{ if week == 5 and DD == 1 Then var1 = 0; Else var1 = 1; } if (Week < Week[1] and DD >= DD[1]+3) Then{ var1 = var1+1; } if var1 == 2 and week == 4 Then{ var2 = 1; var3 = 0; PreExdate = DD; } Else var2 = 0; if (Week < Week[1] and DD >= DD[1]+3) or (Week < Week[1] and DD < DD[1]) Then{ var3 = var3+1; } if PreExdate < 14 and var3 == 3 and week == 1 Then Condition1 = true; Else if PreExdate == 14 and var3 == 2 and week == 1 Then Condition1 = true; Else Condition1 = False; 4. 선물 만기일 다음날부터 2주후 목요일까지.. input : MoneySize(10000000); var : Week(0),DD(0),PreExdate(0),VV(0),MM(0); Week = DayOfWeek(sdate); ## 요일계산 MM = int(FracPortion(sdate/10000)*100); DD = date - int(date/100)*100; # 월이 변경 if (DD < DD[1] and Week > Week[1]) or (DD < DD[1] and Week < Week[1]) Then{ if week == 5 and DD == 1 Then var1 = 0; Else var1 = 1; } if (Week < Week[1] and DD >= DD[1]+3) Then{ var1 = var1+1; } if (MM == 3 or MM == 6 or MM == 9 or MM == 12) and var1 == 2 and week == 4 Then{ var2 = 1; var3 = 0; Condition1 = True; } Else var2 = 0; if (Week < Week[1] and DD >= DD[1]+3) or (Week < Week[1] and DD < DD[1]) Then{ var3 = var3+1; } if var3 == 2 and week >= 5 Then Condition1 = False; 5. 옵션만기일 2주전부터 옵션 만기일까지.. var : Week(0),DD(0),PreExdate(0),MM(0); Week = DayOfWeek(sdate); ## 요일계산 MM = int(FracPortion(sdate/10000)*100); DD = date - int(date/100)*100; if (DD < DD[1] and Week > Week[1]) or (DD < DD[1] and Week < Week[1]) Then{ if week == 5 and DD == 1 Then var1 = 0; Else var1 = 1; } if (Week < Week[1] and DD >= DD[1]+3) Then{ var1 = var1+1; } if var1 == 2 and week == 4 Then{ var2 = 1; var3 = 0; PreExdate = DD; } Else var2 = 0; if (Week < Week[1] and DD >= DD[1]+3) or (Week < Week[1] and DD < DD[1]) Then{ var3 = var3+1; } if PreExdate < 10 then{ if var3 >= 3 Then Condition1 = True; Else Condition1 = False; } if PreExdate > 10 then{ if var3 >= 2 Then Condition1 = True; Else Condition1 = False; } if PreExdate == 10 then{ if MM == 1 or MM == 3 or MM == 5 or MM == 7 or MM == 8 or MM == 10 or MM == 12 Then{ if var3 >= 3 Then Condition1 = True; Else Condition1 = False; } if MM == 2 or MM == 4 or MM == 6 or MM == 9 or MM == 11 Then{ if var3 >= 2 Then Condition1 = True; Else Condition1 = False; } } 6. 5주짜리 월물인 경우 매월 옵션 만기일 다음날부터 3주후 금요일까지.. 7. 4주짜리 월물인 경우 매월 옵션 만기일 다음날부터 2주후 금요일까지.. var : Week(0),DD(0),PreExdate(0),MM(0); Week = DayOfWeek(sdate); ## 요일계산 MM = int(FracPortion(sdate/10000)*100); DD = date - int(date/100)*100; if (DD < DD[1] and Week > Week[1]) or (DD < DD[1] and Week < Week[1]) Then{ if week == 5 and DD == 1 Then var1 = 0; Else var1 = 1; } if (Week < Week[1] and DD >= DD[1]+3) Then{ var1 = var1+1; } if var1 == 2 and week == 4 Then{ var2 = 1; var3 = 0; PreExdate = DD; } Else var2 = 0; if (Week < Week[1] and DD >= DD[1]+3) or (Week < Week[1] and DD < DD[1]) Then{ var3 = var3+1; } if PreExdate < 10 then{ if var3 <= 3 Then Condition1 = True; Else Condition1 = False; } if PreExdate > 10 then{ if var3 <= 2 Then Condition1 = True; Else Condition1 = False; } if PreExdate == 10 then{ if MM == 1 or MM == 3 or MM == 5 or MM == 7 or MM == 8 or MM == 10 or MM == 12 Then{ if var3 <= 3 Then Condition1 = True; Else Condition1 = False; } if MM == 2 or MM == 4 or MM == 6 or MM == 9 or MM == 11 Then{ if var3 <= 2 Then Condition1 = True; Else Condition1 = False; } } 즐거운 하루되세요 > 오이도인 님이 쓴 글입니다. > 제목 : 문의 > 아래의 각 기간을 식으로 표시하려면 어떻게 해야 하나요..? ///// 특정일자 표시 및 특정 기간 표시.. 매월 1일 매월 둘째 금요일 매월 25일 매월 마지막주 월요일 선물 만기일 다음날부터 2주후 목요일까지.. 옵션만기일 2주전부터 옵션 만기일까지.. 5주짜리 월물인 경우 매월 옵션 만기일 다음날부터 3주후 금요일까지.. 4주짜리 월물인 경우 매월 옵션 만기일 다음날부터 2주후 금요일까지.. /// 수고하세요..