|
|
maodeng 发表于 2013-1-28 13:13 5 B- i/ ^7 ^0 {) e! M% m& Y
. hello 300236
# B/ ]5 W: P/ u% s- Zstatement out of context
5 y" K* J" F8 |" V2 Dr(119);
" @+ C! a/ [+ [ `抱歉,最近太忙了
/ D: \8 H" Y% r; K* \
$ t4 l2 h8 k5 W2 L3 i300236 我用下面的程序试过,没问题, j* P* |- k t
9 B v" ^4 U1 f( r# u3 s你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试9 F0 U& G; T' l) k
6 m' c+ ~+ D- Ccapture program drop hello5 L- [# r+ \% ?+ S3 s+ g& Q! Z
% L1 U( k5 D& E# eprogram hello
# u h8 g# {( x1 w; u5 Z l, z9 o0 S8 H; l5 U$ ?! R. M
quietly {
5 E/ d- D; E: t- a' q1 D1 h
( \' ^3 u/ o: Z4 b( c) K0 h5 p# Cclear
7 {$ {4 Z7 R- [. e* r3 z8 R9 \: A
9 p$ ~" a0 w/ c, V! Q# e2 X' e) Ycd D:\stock\test\source7 ^5 \2 Z3 T) u& F, Q
1 N9 S% _0 \2 g. {& S
insheet using `1'.txt( E+ h x' I" W1 E. }" r/ ^
% l/ L) e, R; H' `5 R$ [
keep if v5>0: f# N1 k0 y" @4 p4 S% g8 \: ]0 v9 e! ^
7 G3 s- g9 u5 O8 m* K4 u# O gen vt=_n& V6 f9 V$ @' e) y T! M3 |2 c5 w
* D2 J U/ ]4 l: j1 } tsset vt8 e( V* F& q: s
7 C1 b5 z$ |$ w gen zf=D1.v5
5 N! O- @: b% w+ t8 i \
9 U) R5 I3 V" ], Y+ u gsort -v1
8 x* N9 z. v" [$ v' ^, s0 S: e; {2 E @9 I( e8 Z: H
gen avol=v7/v5
- G f' |2 J" P N& l
7 h5 ^+ u( Q& {8 N; K/ f- V* B; y- l keep if avol>0
7 O0 Q1 t) K4 X6 [- x9 E " C5 A; ~4 U+ S( P
drop vt
% t6 o! z! h" K# z$ n) |
f$ q0 }: j1 X) _# N gen vt=_n
' w6 q6 j' _0 M ' x5 e( d6 |* r* @! L r/ v s3 d) K
tsset vt5 S7 U& x/ U" H' Y$ \# H
$ h6 c n* V$ H* e9 L
sum v5 [aw =avol]: u8 P: i9 Q D# l6 V7 R; ]
. U b: t3 R. s8 z
gen amean=r(mean) in 1
% B. J' x$ A2 Y6 u) Q7 R ) o, m3 d0 M: t6 `& X
* 总加权平均值 amean
* _0 Y. S- }6 \4 h7 X( i, v " U; x, N- l+ B1 y* R, s3 I0 m
8 ?; E. g! g/ X keep in 1/240
( R3 V9 |8 u! e% k. K7 J* b# |
3 H9 ?5 j6 n) \" ^1 j9 T sum v5 [aw =avol]- G0 t! x% e) h) K
2 u2 Z8 n6 x. d# {/ }3 `
gen mean240=r(mean) in 1/ x# Y- I" k3 E" M
% A6 {* C( S9 o *240加权平均值 mean240
* a6 c* Q6 e L0 ]3 Y9 I
5 m- d* f9 r& B, p0 h: d% a% k set obs 500 , P k2 ?% I* F' N$ l" ?& ?
0 @9 ?) E. u, W3 v' ?% R# R0 Y2 N
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph, Q+ c5 t& Y/ ~6 C0 c, |" J( m
) d/ p$ i1 D& q- S B% S' r* X *240 kdensity(dx240 dy240)
P; [1 N0 d9 z" S9 P( Z
) |( Q+ T/ D2 }: H sum dy2407 h9 v! h6 s' b7 @: L& S7 o y2 e
0 k5 d1 D) q( W- ]% G$ p1 { gen yxis=r(max) in 15 u, z! h# s* o& a! t0 J) I
' J( H5 b4 a7 p8 W
gen yxis2=yxis/2" e& c3 T" E# R9 A" t) [
( d2 W( Q$ g* d- u. R *yxis
* ~- O+ w) ~/ D( F! M. f& Z " K+ I+ u/ {& G/ T9 b6 H4 c2 |2 C) _4 k; d
gen dy240max=r(max)7 y$ b. H8 b/ |/ k& b) J7 Z b
! u% {2 n) |; r/ V% T8 B3 p7 S9 U% X gen dy240minp=r(min)+ R+ v* f. F. O% y1 {; Z
- X3 h9 Y& u0 r- A) \ F
gen vtt=_n) l4 t; H- _! F1 f/ @7 }& w& T
: `- h' z* m9 M+ `- ~6 d8 w5 b
tsset vtt
8 l ~) j( w2 G" \( M0 N
- R& @/ C) @4 f7 j gen ddy240=D1.dy240/D1.dx240
. X! a6 j4 j2 k j! r ; Y9 l" D; {2 k1 o
sum ddy240
- M# I' S3 P( \& t
4 v7 }+ a" q# X" K1 {/ g$ E | gen ddy240max=r(max)
2 e) K! B# N Q) a8 d$ ?
/ B7 }* w/ ^; B; v gen ddy240min=r(min)
2 {. I0 \8 F* y* Q# p$ f3 E8 N
' ]: ^" `5 n" k) T gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
+ C/ {7 _8 X9 w3 Y7 } 4 o' X1 |8 T0 c4 g: P1 y: e5 K
sum ddy240g2 D! a) b T2 k
, S+ R' a$ U0 R% p& a6 N gen yxis3=r(min) in 1- `8 B+ c H* B' k# v( W* ^4 x
' S; q8 M" X8 |2 f
gen yxis4=0 in 1
1 P+ h7 \- Q+ T- G9 F 1 T1 i2 z9 I2 m3 h( H2 A' ]% V" Q
*ddy240g
3 V/ u% z. u* u. G1 j 0 ?& q' u& D& U o. M2 c
* ~" W, H, _% G5 o8 u, G, D
preserve
4 \1 Q, f0 M9 T H e 0 r( n* j6 p$ }: p! S# m/ O' r ]% ?
sum v5 [aw =avol]6 C% y+ c, X9 ?9 P
N( z. b( z# j) d* o" [
keep if dx240<r(mean)1 c6 Y, C* L( {* @" F0 x0 ^
7 m* w, q5 T4 C3 v8 V
sum ddy2406 f* J1 b# D+ g. h; C# D
. c2 e2 |3 }6 A& l) D1 @' Q2 S
if r(min)<0 {6 O' N' p, T9 g' `+ q9 p
, z8 l" a2 z9 c% v( |3 r keep if ddy240<=0
1 ^ x. Q0 u9 n1 G$ L& s. k& _9 [ . D6 N. i& y+ @+ _" q9 V+ J
count5 E; m* n" S- p2 M. n' C% l4 Q
& N0 u) g7 t# @7 s4 v6 O if r(N)>2 {
; ?' L! |9 a3 m ( |* {/ e: c: z- }
pkexamine dx240 dy2402 i$ ]5 [8 W" J( g& {6 c5 A, d( d
# D3 W& t6 L% m
local tempminp=r(tomc)
! A; E2 ^; ^3 c5 A4 d% z: r restore ; B l3 y) j. B/ t l& D
}
( Q6 z1 Q' t% I , D6 R% L0 n' j; W, ^# U* ^
else {
3 Z+ t' p5 t* @1 x 2 {& C3 O; ^* C' V( T0 _
di "cannot find minp"
, j% {" r, [7 O, D . S* s; M0 Y W( X+ J" V! p
restore 4 i% v) G) o* A* i6 p
sum dx2407 x) M. K2 H7 K3 z
local tempminp=r(mean)
5 x j5 d6 d$ A0 W8 Z' ~
! ]+ D7 P" }% m9 C) J# ^ }
5 H% v* ?: T0 ~( D }
7 q1 a/ ~ X/ l0 s else {
2 }7 D5 b4 f8 z 0 k1 T L M# w
keep if ddy240<=r(min)
$ \+ Z4 W+ ]* P [! K" b( D# ] 0 d" f! s4 Y) F4 K) {8 y# ^7 P, O
sum dx240
: |3 {2 T9 I- v% c' A6 o1 ? 1 q. ~' S* J* V9 M. s' u# z
local tempminp=r(min)
" Z; V' C* X( F, a! g# L- E restore 8 k# ~* ^" e8 [
}; F1 B, \" x& T4 w
# |* W) n# U7 [: N; A( o
9 u: Z4 y. m. p. I5 [5 k. z x3 `6 j$ L& E* H9 i
gen minp=`tempminp' in 19 W T, v) M- N
*240 minp: b" i. @; f9 A+ Q9 x0 t
3 n4 s1 C, S& S5 M9 Z1 ~8 D& x0 N$ T5 X
7 `. w5 E+ ~) j2 i$ r+ b
preserve
; _% S2 z1 G" X
0 A. @& x# ?7 p! w" l sum v5 [aw =avol]2 H! V, c, U9 v/ \0 C$ O) z" r
* t+ l$ Y5 H2 ~
keep if dx240>r(mean)
- H9 a% V$ b0 y* I6 t
; `, V7 D4 a' E: V3 t6 ^ sum ddy240
8 I! Y+ T! z ^% u4 e: I
, R8 S9 r5 s' q7 n% D: F if r(max)>0 {
" i0 ?. h) s- u% l, Q 3 a) @1 g8 g# @+ n% L
keep if ddy240>=0
5 w" a9 m( j/ j; `$ B0 B; D- {. g! d 1 C( `5 I R; H7 Q) h
count; {& s H+ T( P! W
0 R! N3 E* m" Z7 Q/ G7 C if r(N)>2 {
5 @/ Q# f% S$ a" D ) k, [0 [9 I2 ]2 [5 q& D
pkexamine dx240 dy240" H4 J4 {8 P% q8 A/ o1 T
( K( b7 K8 D9 i' A' l/ z. w
local tempmaxp=r(tomc) $ X$ a; T0 n6 \# [: b
restore
+ { p* Q+ ~, `0 H3 b }
; e6 L7 R* z5 d1 A2 J
0 {3 J; J9 v. V3 I) Z8 D+ l
- Z' [4 l* v7 r: a/ Z else {
) s5 ~: |& h1 o( r$ \( u restore
: Q/ Y$ f6 C7 j- i$ G: { di "cannot find maxp"/ S' ~2 ~: |6 k$ I; S7 s$ m
9 @; r$ w5 W6 }' ~- l4 q 9 T( z% I2 c* q1 o) I2 _7 Y
sum dx240$ M) W: B$ [! q5 s" G
local tempmaxp=r(mean)
1 R( R4 w- p' g4 Y1 U + ]: Z. j& m3 s2 u6 m6 @$ c
}$ r' \" E+ K" N: J. U& Q, O3 w
6 E9 _* _. x. Y
}
& g. r" m# q; ^( V# r; i
q2 K' `( F% y$ W) h else {
2 Q8 O8 ^: c( Q 5 j. p" r9 e7 h" B; V6 X; d9 ]
keep if ddy240>=r(max). j1 a8 e' M& ?' u
( n+ j# R6 d& u. _1 O3 o% A" `8 f sum dx240' k! z$ D7 S% ^* }: c t) q
" Q# {0 z L6 Q6 x' F# q
local tempmaxp=r(max) 8 L* u* b, R1 E
restore
9 c, |. y2 Y' Z, _8 { }
1 Z1 t% y$ U; \5 c7 K
' S% o7 }9 w) d" _2 ^( ]+ C
& B4 U5 e; Q# N. B2 W; @
- Z( C4 W' }& C
3 I; s. h4 D8 W* Q3 V gen maxp=`tempmaxp' in 1
8 {9 c$ B- y$ C- d+ q- n; Z
. c& @7 I x F. H) m1 x *240maxp4 c) n2 }/ d8 m/ C( }4 d! }
6 n/ ^' t$ R9 `& B# ` " k+ k5 M6 @4 W7 j; m7 [! d' x# n' f
*-------------ddy240pminp左侧高峰值-----6 Y# n# u+ I" S. s) _0 s
* f- S( g' E3 ] i8 U6 d5 i
preserve , B% j V' S! t% u+ \, M6 a+ A
$ y6 h; `+ o! ]( M4 h
keep if dx240<`tempminp'
8 E, B% I& @9 }$ v, r$ p4 X; O0 k" F- J % L1 [ |* k, j
keep if ddy240>0& i9 s# X5 U1 \+ ]6 ]/ c
0 R# x n' Q* I3 W1 j count/ V: D/ X3 _0 c7 Q' o
3 B+ y1 Z; c: S
if r(N)>2 {2 K- {0 ?9 H1 x: D( M c1 Q- O
4 X( B8 q) w- @. L
pkexamine dx240 ddy240; n' |# { |5 r, f/ D
8 o: C/ `: W; |/ z
local tempminphddy240=r(tomc)
: V+ n6 B( @8 D) g) v, S! `" c restore a, r& C( D1 U: R0 _+ l
}# a! B8 Q& s1 [& t
7 y$ }# P, g- f t
else {
( x9 C& ^* F) D% }1 T- V4 T& y restore ' f. ]9 q, L8 |- b
di "cannot find pminphddy240"/ p: ~- c7 s8 p
0 Z' Z, b) o( `7 o 5 b0 _+ d( K" _/ r7 W
sum dx240
0 ?* q9 R7 M" R, T+ F local tempminphddy240=r(mean)
# @+ ~) k( P% c" b4 P 1 \& u S/ G) \4 B% s+ p
8 s) s; |- w! z( t5 ]. i) Z* \ }
* | j" |4 v, C( y# N( C8 o ?$ }1 |. K7 C- j6 M( @9 v& A
& L* z( N5 Q# N F2 H* ?+ Q% `
% e9 N9 [: \3 x3 c 2 E% E O! ]8 P. x3 M
# A8 X, `* }; A7 [8 _
" t% P( C" ]" M8 b8 y6 y; P6 R
gen pminphddy240=`tempminphddy240' in 1
+ J1 b4 A5 F0 k1 k
+ y. C* b8 F% J
0 ^) z/ ^" w0 e9 |1 X8 @ J8 B4 z *-------------ddy240pminp右侧低峰值 -----------------
& i. k5 Z7 v8 L: u preserve
" L5 ~2 `6 c! {% N" O
; N# @6 m* A9 x" d keep if dx240>`tempminp'
9 |& j0 q' k$ J. U. _' L! G ( ]8 P. G5 c% w$ K- r% Z
keep if dx240<`tempmaxp'
: T z* }( X& L# }- G/ { 0 _) _ C0 Z; `" l) ~ b. f
keep if ddy240<0) x+ n( b; Y' @: n) N- L! u
% q8 M- Y, d, r7 v6 _( y gen temddy240=-ddy240& [ |/ l; N5 }% f/ J9 i
+ Y( z, y$ f3 X5 n/ g9 T7 O, ~; e count& M! C3 u2 J' m: l% q
* A: p: |5 |4 @1 X/ ?
if r(N)>2 {
) q* i; e( L3 x% V; N
; i! X6 i: Q) m5 @. f8 r pkexamine dx240 temddy240
5 ]; l: ^$ Q; Q# G$ x( N 6 |0 }' m3 L+ F2 t
local tempminplddy240=r(tomc)" |: _8 r3 y+ f
restore
0 ~3 i! ]4 d* k2 j9 ?/ Q }; b; P o) O& c% N
) G& g: j! Y Y' E6 V else {
' L4 I7 r/ |5 K. t: b0 v " Y/ N _# G" P$ _* B
di "cannot find pminplddy240"* T- e5 K# [$ J0 q
restore
4 Y9 t0 _8 K; ^+ X$ V, k) J 0 G0 N# i! _6 P, o2 j. |
sum dx240# J8 F$ g3 X/ F0 [7 p, J
local tempminplddy240=r(mean), U! }2 A/ r3 h$ _9 i
; R6 Q- T! \+ I$ G
. C$ ~) M% ?5 n/ B! }; d! d) u; w
}
$ \" v# i+ V3 H $ ^) F# V" x. h" x8 b: d
8 {9 s o# D5 G/ J# j
" }# s- p; f' z0 d' A1 g4 }+ T
6 M% W+ n8 Q8 F7 p& b$ x y 0 T2 L% P2 n0 h/ b5 V. x8 W8 y9 |
gen pminplddy240=`tempminplddy240' in 1+ t) ]6 R8 s: k6 o3 Y# o7 h
r- [" T) m, D% T4 f
*-------------ddy240pmaxp左侧高峰值 -------------------
: b9 r( b/ B3 ]4 k- g
4 W- `- ?: \$ N' s5 v# W. g1 a preserve 3 H/ M6 A" Y7 z- h; O+ O
5 {1 u: P$ t& G keep if dx240>`tempminp'
9 ^1 C) U: _& [
" a( V% Q3 }* Z9 ` keep if dx240<`tempmaxp'
* m8 v% }4 r4 T1 y' N4 T 5 X% V, B+ U: E/ Y: K. }
keep if ddy240>05 l9 W4 @ V' t; @
count/ s/ {& N/ ~& F7 z+ h; m
: } ?; p& i1 I if r(N)>2 {! I- {) m% `6 K6 V0 X
6 v: u" \5 `" E+ L1 t7 [6 g) i
pkexamine dx240 ddy240( ^1 \% \3 o8 a+ x) o, E/ H
# Z! l3 b9 I0 i/ O0 W local tempmaxphddy240=r(tomc)
& |" y0 n* H7 \9 T) x5 L
# y# W- V1 W& F8 E& R9 M: Q- Z. u! p restore
) d' q4 m! |6 N. C: u8 T$ M$ |4 M2 H/ w }
% P5 ?' g1 r1 c9 n$ q
" j) V) g9 D" j else {
' r8 r- y+ O7 [ `: } , m t. a) a0 _9 x/ s
di "cannot find pmaxphddy240"
0 v% [. S* z, E2 T3 W restore# M: v: [# J' b) [3 T+ C
% C" F- i5 K$ f/ D; `% ]6 H* H
sum dx240
2 J; X+ s% |8 S local tempmaxphddy240=r(mean)
* ]& ^5 P; e: q D; S% k
" m# w$ b) y- c. b4 T 5 j1 q) F. T6 [
}
/ F2 N- q- S7 u; a L! ]4 U4 _
, B, P8 [' u) e% t @( T4 o& |
% ]( H& O. t% H8 e; W9 ^0 b 5 u& g3 r7 h% e& f# F; J0 q
! G3 e: d/ D; Z9 ?2 y2 T
2 j' q- j% W/ N, l0 J( J
* E' i. O; I, h gen pmaxphddy240=`tempmaxphddy240' in 1
6 Y9 I$ [5 H, X/ t9 T / c, J7 L$ e) b& ]$ s
# E! a4 c! t) f# q0 N2 X; {1 y *-------------ddy240pmaxp右侧低峰值 -------------------7 C7 }- c0 @ h' g
0 j9 B" ^+ w) f5 i preserve
/ X2 a+ @3 x* L, W 1 T y+ t& H6 w/ s! d9 o, k1 F& j
keep if dx240>`tempmaxp'/ F! O. f) B9 u7 G! U4 J! X4 a5 X) j
! A# l& |0 @2 G" {! R: y$ m gen temddy240=-ddy240! @9 o# t, ~8 ]7 `' V& X, Q
5 ^7 D8 ?( U' M, x1 l
keep if temddy240>02 Q: [% M; m$ M2 j" ^
2 [- i4 N, C3 k* q" S8 n$ h' Z, l count1 b/ t( E2 ^, O4 E9 e w/ L; O
; l* R( }9 X- U! a- \ if r(N)>2 {! ~/ L8 |$ K# z3 o4 J4 N q. C! ~3 S
, B* }/ [8 O" o pkexamine dx240 temddy240
4 B9 b5 b7 s2 D/ d* T1 y9 r& B5 F- v( l' L
& g+ l" H u8 _' |! f local tempmaxplddy240=r(tomc)
# G. \2 q, Z/ j% q restore
* Q+ m e5 Y) Y }
9 H2 q& a4 b/ S" |* e! d# @ ) H5 ?+ I- K- X
else {2 l3 Q1 b3 b/ `1 S. n
restore
$ I3 z" i% F1 ` di "cannot find pmaxlhddy240"
+ X) @/ q& h$ f$ r& L$ f
7 X/ u f. h0 G( I
% w4 d/ x) t2 J. W9 s* \0 U sum dx240
& U! B0 J: Z6 K# C$ h local tempmaxplddy240=r(mean) in 1 E. h: B% v" N
5 ]5 L9 q' t0 C/ L4 Z0 I; b
1 N( g0 B7 r: ~7 r: A/ I2 u6 F
}
9 V# Y% u/ a7 P + W4 D& N7 L6 D! O. S$ v$ _
/ z; z- D, W, Z4 i
2 `0 J1 S! I) E7 g% \* W+ ?' X
$ c' `- x# v2 b6 Y
! M& w( @( N+ B
. p. g) P* X; s4 X gen pmaxplddy240=`tempmaxphddy240' in 1
" Q1 D. q1 U9 S/ x2 h+ w3 R
# {5 s m$ |- w) j7 z- G2 ~ *-------------------------------------; y$ H8 x$ f# y- C& S6 K Y
) U1 Z# \6 d# L: @' z0 H gen price5d=v5 in 1/20
( s* Q1 C" r8 R0 k2 i; ~ 9 ]) |; g6 W3 \3 ~4 h, P/ g. j
gen price5yy=_n in 1/20
0 W# R$ k, L0 l0 l- e9 X: K- w
9 `4 a) u' a) w) q4 R0 P' @0 |4 O gen price5y=price5yy*(dy240max-dy240min)/20
! Z, h5 k7 i7 z
% _ ]1 w" a2 g+ k2 l9 u @ *price5y &price5d
9 ^1 `1 } L: [* N* N8 ?
2 d1 t3 K2 L( U' E! d0 u gen priceny=price5y in 17 | _# `3 I; k" K
5 d$ a; U9 Z: M+ Y
gen pricen=v5 in 1 o6 Y$ J; c2 l. W! c& b! l" |
$ W4 z$ D8 y, h4 e2 P
, t) n6 l! A/ Y+ F
*priceny &pricen8 a) X/ G' K" x1 j! F. T% f
: S3 T* ^0 B4 c! y) I Y4 \3 } 1 s: {; R1 @5 F; @& a; |2 y! l4 \
*-------------------------graph------------------- J/ P- O4 g m* A: u' ]
( o4 q* E. o I+ U7 B
tw(line dy240 ddy240g dx240)(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off)3 H3 g- q1 x1 W7 j
0 B) w6 c9 \/ V& N3 ~* ---------可选项目----------------------+ S" ?$ _1 R1 a6 d/ |: [+ D3 \
*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))3 h4 D% B& P2 c5 Y! V: i/ T
}" l3 n; s, x- T2 t
end
1 l/ U8 A5 n) {; E j2 K; t |
|